Hallo,
Ich habe einen JAX WS 2 WebService und möchte diesen mit einem MS SOAP Client aufrufen.
Die Methode:
Wenn ich diese Method jetzt mit einem MS SOAP Makro aufrufen möchte:
Bekomme ich im Java folgende Fehlermeldung:
Aufallend daran ist folgende Zeile:
Es sieht so aus, als ob einer der beteiligten ein Problem mit der WSDL Datei hätte.
Diese sieht im übrigen so aus:
Weiß jemand wo der Fehler liegt? Oder was man dagegen machen kann?
Danke!
Ich habe einen JAX WS 2 WebService und möchte diesen mit einem MS SOAP Client aufrufen.
Die Methode:
Code:
@WebMethod(operationName = "hello")
@WebResult(name = "the-name")
public String hello(@WebParam(name = "inName") String inName) {
return "Hello " + name + "!";
}
Code:
Private Sub cmdSoap_Click()
Dim soap As Object
Set soap = CreateObject("MSOSOAP.SoapClient30")
Call soap.mssoapinit("http://localhost:8080/services/bmi?wsdl", "MyWebServicesService")
Dim strHello As String
strHello = soap.hello("Das ist ein Test")
End Sub
Bekomme ich im Java folgende Fehlermeldung:
Code:
SCHWERWIEGEND: Error in decoding SOAP Message
Error in decoding SOAP Message
at com.sun.xml.internal.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(Unknown Source)
at com.sun.xml.internal.ws.protocol.soap.server.SOAPMessageDispatcher.toMessageInfo(Unknown Source)
at com.sun.xml.internal.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(Unknown Source)
at com.sun.xml.internal.ws.protocol.soap.server.SOAPMessageDispatcher.receive(Unknown Source)
at com.sun.xml.internal.ws.server.Tie.handle(Unknown Source)
at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.process(Unknown Source)
at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(Unknown Source)
at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: unexpected element name: expected=inName, actual: {http://test.service.test.com/}inName
at com.sun.xml.internal.ws.encoding.jaxb.RpcLitPayloadSerializer.deserialize(Unknown Source)
at com.sun.xml.internal.ws.encoding.soap.SOAPDecoder.decodeBodyContent(Unknown Source)
at com.sun.xml.internal.ws.encoding.soap.SOAPDecoder.decodeBody(Unknown Source)
at com.sun.xml.internal.ws.encoding.soap.SOAPDecoder.decodeEnvelope(Unknown Source)
... 17 more
Aufallend daran ist folgende Zeile:
Code:
Caused by: unexpected element name: expected=inName, actual: {http://test.service.test.com/}inName
Es sieht so aus, als ob einer der beteiligten ein Problem mit der WSDL Datei hätte.
Diese sieht im übrigen so aus:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://test.service.test.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://test.service.test.com/" name="MyWebServicesService">
<types/>
<message name="hello">
<part name="inName" type="xsd:string"/>
</message>
<message name="helloResponse">
<part name="the-name" type="xsd:string"/>
</message>
<portType name="ChrisWebServices">
<operation name="hello" parameterOrder="inName">
<input message="tns:hello"/>
<output message="tns:helloResponse"/>
</operation>
</portType>
<binding name="ChrisWebServicesPortBinding" type="tns:ChrisWebServices">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="hello">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://test.service.test.com/"/>
</input>
<output>
<soap:body use="literal" namespace="http://test.service.test.com/"/>
</output>
</operation>
</binding>
<service name="MyWebServicesService">
<port name="ChrisWebServicesPort" binding="tns:ChrisWebServicesPortBinding">
<soap:address location="http://localhost:8080/services/bmi"/>
</port>
</service>
</definitions>
Weiß jemand wo der Fehler liegt? Oder was man dagegen machen kann?
Danke!