Deserialisation error
I really need some help for this one.
Last week this was running fine, but today when i try it without any changes, all of a sudden it keeps coming up with this deserialisation error. Any suggestions to what is going wrong?
Ill post the wsdl and the client code so hopefully if im doing something wrong somebody will be able to pinpoint it as im new to this game although had the Hello example working aswell!
Error message
Endpoint address = http://localhost:8080/lbp/lbp
deserialization error: java.lang.NullPointerException
at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:214)
at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:134)
at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElement(CallInvokerImpl.java:222)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:158)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:61)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:353)
at lbp.LBPServlet.init(LBPServlet.java:120)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:712)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:416)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:286)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:258)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:256)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:210)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:513)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:499)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
at java.lang.Thread.run(Thread.java:534)
CAUSE:
java.lang.NullPointerException
at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeserialize(SOAPResponseSerializer.java:149)
at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:167)
at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:134)
at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElement(CallInvokerImpl.java:222)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:158)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:61)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:353)
at lbp.LBPServlet.init(LBPServlet.java:120)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:712)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:416)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:286)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:258)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:256)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:210)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:513)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:499)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
at java.lang.Thread.run(Thread.java:534)
CAUSE:
java.lang.NullPointerException
at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeserialize(SOAPResponseSerializer.java:149)
at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:167)
at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:134)
at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElement(CallInvokerImpl.java:222)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:158)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:61)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:353)
at lbp.LBPServlet.init(LBPServlet.java:120)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:712)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:416)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:286)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:258)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:256)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:210)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:513)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:499)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
at java.lang.Thread.run(Thread.java:534)
Client code
String endpointaddress = "http://localhost:8080/lbp/lbp";
//String qnameService = "MyHelloService";
//String qnamePort = "HelloIF";
String qnameService = "LBPService";
String qnamePort = "LBPIF";
String BODY_NAMESPACE_VALUE =
"urn:Foo";
String ENCODING_STYLE_PROPERTY =
"javax.xml.rpc.encodingstyle.namespace.uri";
String NS_XSD =
"http://www.w3.org/2001/XMLSchema";
String URI_ENCODING =
"http://schemas.xmlsoap.org/soap/encoding/";
//out.println("Endpoint address = " + args[0]);
System.out.println("Endpoint address = " + endpointaddress);
try {
ServiceFactory factory =
ServiceFactory.newInstance();
Service service =
factory.createService(new QName(qnameService));
QName port = new QName(qnamePort);
Call call = service.createCall(port);
call.setTargetEndpointAddress(endpointaddress);
call.setProperty(Call.SOAPACTION_USE_PROPERTY,
new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
//This example here probably doesnt BUT DOES - BONUS!
QName QNAME_TYPE_BOOLEAN = new QName(NS_XSD, "Boolean");
call.setReturnType(QNAME_TYPE_BOOLEAN);
call.setOperationName(new QName(BODY_NAMESPACE_VALUE,
"createnewuser"));
call.addParameter("String_1", QNAME_TYPE_STRING,
ParameterMode.IN);
call.addParameter("String_2", QNAME_TYPE_STRING,
ParameterMode.IN);
call.addParameter("String_3", QNAME_TYPE_STRING,
ParameterMode.IN);
call.addParameter("String_4", QNAME_TYPE_STRING,
ParameterMode.IN);
call.addParameter("String_5", QNAME_TYPE_STRING,
ParameterMode.IN);
call.addParameter("String_6", QNAME_TYPE_STRING,
ParameterMode.IN);
String[] params = { "Delboy!"," del","del","del","del","del" };
Boolean result = (Boolean)call.invoke(params);
System.out.println(result);
WSDL
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:Foo" xmlns:ns2="http://java.sun.com/jax-rpc-ri/internal" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="LBPService" targetNamespace="urn:Foo">
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://java.sun.com/jax-rpc-ri/internal" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://java.sun.com/jax-rpc-ri/internal">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="hashtable">
- <complexContent>
- <extension base="tns:map">
<sequence />
</extension>
</complexContent>
</complexType>
- <complexType name="map">
- <complexContent>
- <restriction base="soap11-enc:Array">
<attribute ref="soap11-enc:arrayType" wsdl:arrayType="tns:mapEntry[]" />
</restriction>
</complexContent>
</complexType>
- <complexType name="mapEntry">
- <sequence>
<element name="key" type="anyType" />
<element name="value" type="anyType" />
</sequence>
</complexType>
</schema>
</types>
- <message name="LBPIF_createnewuser">
<part name="String_1" type="xsd:string" />
<part name="String_2" type="xsd:string" />
<part name="String_3" type="xsd:string" />
<part name="String_4" type="xsd:string" />
<part name="String_5" type="xsd:string" />
<part name="String_6" type="xsd:string" />
</message>
- <message name="LBPIF_createnewuserResponse">
<part name="result" type="xsd:boolean" />
</message>
- <message name="LBPIF_login">
<part name="String_1" type="xsd:string" />
<part name="String_2" type="xsd:string" />
</message>
- <message name="LBPIF_loginResponse">
<part name="result" type="ns2:hashtable" />
</message>
- <message name="LBPIF_sayGoodbye">
<part name="String_1" type="xsd:string" />
</message>
- <message name="LBPIF_sayGoodbyeResponse">
<part name="result" type="xsd:string" />
</message>
- <message name="LBPIF_sayHello">
<part name="String_1" type="xsd:string" />
</message>
- <message name="LBPIF_sayHelloResponse">
<part name="result" type="xsd:string" />
</message>
- <portType name="LBPIF">
- <operation name="createnewuser" parameterOrder="String_1 String_2 String_3 String_4 String_5 String_6">
<input message="tns:LBPIF_createnewuser" />
<output message="tns:LBPIF_createnewuserResponse" />
</operation>
- <operation name="login" parameterOrder="String_1 String_2">
<input message="tns:LBPIF_login" />
<output message="tns:LBPIF_loginResponse" />
</operation>
- <operation name="sayGoodbye" parameterOrder="String_1">
<input message="tns:LBPIF_sayGoodbye" />
<output message="tns:LBPIF_sayGoodbyeResponse" />
</operation>
- <operation name="sayHello" parameterOrder="String_1">
<input message="tns:LBPIF_sayHello" />
<output message="tns:LBPIF_sayHelloResponse" />
</operation>
</portType>
- <binding name="LBPIFBinding" type="tns:LBPIF">
- <operation name="createnewuser">
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</output>
<soap:operation soapAction="" />
</operation>
- <operation name="login">
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</output>
<soap:operation soapAction="" />
</operation>
- <operation name="sayGoodbye">
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</output>
<soap:operation soapAction="" />
</operation>
- <operation name="sayHello">
- <input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</input>
- <output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:Foo" />
</output>
<soap:operation soapAction="" />
</operation>
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
</binding>
- <service name="LBPService">
- <port name="LBPIFPort" binding="tns:LBPIFBinding">
<soap:address xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" location="http://localhost:8080/lbp/lbp" />
</port>
</service>
</definitions>
i get the same problem i use:
QName QNAME_TYPE_STRING = new QName(NS_XSD,"string");
call.setReturnType(QNAME_TYPE_STRING);
call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "sayHello"));
call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "sayGoodbye"));
call.addParameter("String_1", QNAME_TYPE_STRING, ParameterMode.IN);
call.addParameter("String_2", QNAME_TYPE_STRING, ParameterMode.IN);
String[] params = { "client running hello", "client running goodbye"};
String result = (String)call.invoke(params);
System.out.println(result);
my error is as follows:
run-client:
[java] Endpoint address = http://localhost:8080/hello-jaxrpc/hello
[java] java.rmi.RemoteException: JAXRPC.TIE.01: caught exception while hand
ling request: deserialization error: unexpected XML reader state. expected: END
but found: START: String_2
[java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:36
9)
[java] at dii.HelloClient.main(Unknown Source)
run:
have u figured this out yet dell trotter!
Similar Messages
-
Deserialisation error in web service
Hi All,
This is SOAP response I got when I tested Webservice.
HTTP/1.1 500 Internal Server Error
Set-Cookie: <value is hidden>
content-type: text/xml; charset=utf-8
content-length: 990
sap-srt_id: 20080602/082242/v1.00_final_6.40/AEFF43B5245BB14C841E53F219B63B73
server: SAP Web Application Server (1.0;640)
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Body><soap-env:Fault><faultcode>soap-env:Client</faultcode><faultstring xml:lang="en">Deserialisation failed</faultstring><detail><n0:SimpleTransformationFault xmlns:n0="http://www.sap.com/transformation-templates"><MainName>/1BCDWB/WSS0080602150152530000</MainName><ProgName>/1BCDWB/WSS0080602150152530000</ProgName>
<Line>76 </Line>
<Valid>X</Valid>
<DeserialisationFault><DescriptionText>An error occurred when deserializing in the simple transformation program /1BCDWB/WSS0080602150152530000</DescriptionText>
<DescriptionDetailText>02.06.2008 is not a valid date</DescriptionDetailText>
<TreePosition></TreePosition><ClassName>CX_SY_CONVERSION_NO_DATE_TIME</ClassName></DeserialisationFault><Caller>
<Class>CL_SRG_RFC_PROXY_CONTEXT</Class><Method>IF_SXML_PART~DECODE</Method><Positions>1 </Positions></Caller></n0:SimpleTransformationFault></detail></soap-env:Fault></soap-env:Body></soap-env:Envelope>
Please help me in this regard.
Thanks & Regards
Santhosh
Edited by: Santosh Subbanna on Jun 2, 2008 5:29 PMHi Johan,
it seems when you clicking upon the link - it is sending a wrong set of parameters to underlying Web Service method. What I mean is - suppose the web service method is expecting 3 parameters - but the link click is actually effecting into sending less than that number. Please check what & how many parameter values are being sent to the web service.
Regards,
Shubho -
ABAP Proxy PARSE_APPLICATION_DATA ERROR - Deserialisation error
Hi All,
Can some one please help me to resolve this issue, XML --> ABAP proxy scenario. PI sent message successfully, but I am getting error on SAP target system.
- <SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SAP:Category>XIProxy</SAP:Category>
<SAP:Code area="ABAP">PARSE_APPLICATION_DATA</SAP:Code>
<SAP:P1>Request Message</SAP:P1>
<SAP:P2>CX_ST_DESERIALIZATION_ERROR</SAP:P2>
<SAP:P3>/1SAI/SASF1B34BDF7BC867BECB1E Line 127</SAP:P3>
<SAP:P4>An error occurred when deserializing in the simple transformation program /1SAI/SASF1B34BDF7BC867BECB1E (Data loss occurred when converting ON Kernel ErrorId: CONVT_DATA_LOSS) XML Bytepos.: 6025 XML Path: ns1:MT_HCM092_EmpPersonalData(1)PersonalDataUpdation(34)GBDEP(6)</SAP:P4>
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error during XML => ABAP conversion: Request Message; CX_ST_DESERIALIZATION_ERROR in /1SAI/SASF1B34BDF7BC867BECB1E Line 127 An error occurred when deserializing in the simple transformation program /1SAI/SASF1B34BDF7BC867BECB1E (Data loss occurred when converting ON Kernel ErrorId: CONVT_DATA_LOSS) XML Bytepos.: 6025 XML Path: ns1:MT_HCM092_EmpPersonalData(1)PersonalDataUpdation(34)GBDEP(6) An error occurred when deserializing in the simple transformation program /1SAI/SASF1B34BDF7BC867BECB1E Data loss occurred when converting ON</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
The error is shown for the field GBDEP. It is of type char(3) both in the source system and the target system.
Still i am getting this error.
Kindly help me in resolving the issue.
Regards,
Sridevi SHi Klaus,
Thanks for the t-code.
I couldn't figure out any issue in that program. Below is the line of code in the program for the field GBDEP which is same as for the other fields.
<tt:cond s-check="not-initial('ROOT.GBDEP')">
<tt:ref name="ROOT">
<GBDEP tt:ref="GBDEP">
<tt:deserialize>
<tt:assign to-var="_C_NIL" val="' '"/>
<tt:d-cond>
<tt:attribute name="xsi:nil">
<tt:read var="_C_NIL" map="xml('true', '1') > val(C('2'))"/>
</tt:attribute>
</tt:d-cond>
</tt:deserialize>
<tt:cond-var check="_C_NIL!='2'">
<tt:value maxLength="3"/>
</tt:cond-var>
</GBDEP>
kindly help. -
WSDP Soap toolkit - Deserialisation error
I am testing the Webservices which in the remote place. If it throwing any error output i am getting the following error.
Note: All Needed jars are in classpath - Many times i checked.
java.rmi.RemoteException: Runtime exception; nested exception is:
deserialization error: unexpected XML reader state. expected: END but found: START: {http://www.themindelectric.com/}exception
---------------------------This happens when 1) either elements received in the soap message are not
in the proper order, 2) they are named wrong, or 3) there are extra elements. Please check to make sure that the soap message is properly
formatted according to what the WSDL says. -
JMS error while looking up from Client
Hi
I am looking up a JMS factory though a stand alone client in SAP web as Sp 15. While looking up through JNDI we are getting a deserialisation error . I have included all the j2ee client jars in the classpath. Any idea do we need to include some other jars also ..
com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name jmsFactory/CXLQueueConnectionFactory, cannot resolve object reference. [Root exception is com.sap.engine.services.connector.exceptions.BaseResourceException: Cannot lookup ManageConnectionFactory "CXLQueueConnectionFactory". Cannot deserialize object: com.sap.engine.services.jmsconnector.exceptions.BaseClassNotFoundException: Deserialization Error: java.lang.NoClassDefFoundError: com/sap/jms/server/SynchronousNetworkAdapter
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at com.sap.engine.services.jndi.persistent.ClientCPOInputStream.resolveClass(ClientCPOInputStream.java:52)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1513)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.sap.engine.services.jndi.persistent.RemoteSerializator.toObject(RemoteSerializator.java:70)
at com.sap.engine.services.jndi.implclient.ClientContext.deserializeObject(ClientContext.java:3349)
at com.sap.engine.services.jndi.implclient.ClientContext.deserializeDirObject(ClientContext.java:3303)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:385)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:639)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sap.engine.services.jmsconnector.spi.ManagedConnectionFactoryImpl.readObject(ManagedConnectionFactoryImpl.java:318)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.sap.engine.services.jndi.persistent.RemoteSerializator.toObject(RemoteSerializator.java:70)
at com.sap.engine.services.jndi.implclient.ClientContext.deserializeObject(ClientContext.java:3349)
at com.sap.engine.services.jndi.implclient.ClientContext.deserializeDirObject(ClientContext.java:3303)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:385)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:639)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sap.engine.services.connector.ResourceObjectFactory.getObjectInstance(ResourceObjectFactory.java:165)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:522)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:639)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.tpt.thresher.common.concurrent.DistributedProcessExceptionListener.connect(DistributedProcessExceptionListener.java:204)
at com.tpt.thresher.common.concurrent.DistributedProcess.<init>(DistributedProcess.java:172)
at com.tpt.thresher.common.concurrent.DistributedProcess.main(DistributedProcess.java:261)
at com.sap.engine.services.jmsconnector.spi.ManagedConnectionFactoryImpl.readObject(ManagedConnectionFactoryImpl.java:334)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.sap.engine.services.jndi.persistent.RemoteSerializator.toObject(RemoteSerializator.java:70)
at com.sap.engine.services.jndi.implclient.ClientContext.deserializeObject(ClientContext.java:3349)
at com.sap.engine.services.jndi.implclient.ClientContext.deserializeDirObject(ClientContext.java:3303)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:385)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:639)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sap.engine.services.connector.ResourceObjectFactory.getObjectInstance(ResourceObjectFactory.java:165)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:522)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:639)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.tpt.thresher.common.concurrent.DistributedProcessExceptionListener.connect(DistributedProcessExceptionListener.java:204)
at com.tpt.thresher.common.concurrent.DistributedProcess.<init>(DistributedProcess.java:172)
at com.tpt.thresher.common.concurrent.DistributedProcess.main(DistributedProcess.java:261)
Any help on this will be appreciated.
regards
rajesh krHi Rajesh,
Please add the jar file "sapjms.jar" to your classpath,
it is situated at
\usr\sap\<sid>\<id>\j2ee\cluster\server0\bin\services\jms_provider
HTH
Peter -
Unexpected element name - confusion of types in client
I have a web service definition that performs four operations:
- String getTitle(long) - returns a title for a single asset
- StringArrayType) getTitles(LongArrayType) - returns an ordered list of titles matching input list
- AssetSummaryType getSummary(long) - Returns a complex type, summary information of an asset
- AssetSummaryArrayType getSummaries(LongArrayType) - Returns an array of complex types
Based on the WSDL (included at the bottom of this posting) I then generate the service
endpoint using wscompile and -f:wsi option (JDK 1.4.2-05 and JWSDP-1.4).
This is built into a raw war file and then cooked using wsdeploy.
On the client side I create stubs using wscompile and -f:wsi and compile
the resultant code. My client invokes each of the operations in turn, having been
provided the relevant 'longs' as input.
The service is deployed in JBoss-3.2.2 and the client is then executed from a separate JVM.
I then see the following client error:
java.rmi.RemoteException: Runtime exception; nested exception is:
unexpected element name: expected={http://example.com/myAssetWebSvc}Str
ingElement, actual={http://example.com/MyAssetWebSvc}AssetSummaryElement
at com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(
StreamingSender.java:318)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:300
at example.com.wsclient.asset.AssetService_Stub.getTitle(AssetService_St
ub.java:175)
at example.com.wsclient.asset.AssetClient.testAssetTitleRetrieval(AssetC
lient.java:82)
at example.com.wsclient.asset.AssetClient.main(AssetClient.java:51)
Caused by: unexpected element name: expected={http://example.com/MyAssetWebSvc}
StringElement, actual={http://example.com/MyAssetWebSvc}AssetSummaryElement
at com.sun.xml.rpc.encoding.literal.LiteralSimpleTypeSerializer.deserial
ize(LiteralSimpleTypeSerializer.java:106)
at example.com.wsclient.asset.AssetService_Stub._deserialize_getTitle(As
setService_Stub.java:318)
at example.com.wsclient.asset.AssetService_Stub._readFirstBodyElement(As
setService_Stub.java:276)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:215
... 3 more
If I deploy the same service with only the first two operations defined within wsdl,
the error is not seen.
I have also tried compilation on JWSDP 1.3 and JDK 1.4.1-03 and in this case the same error
occurs but the other way around. The two 'title' operations work but the summary
operations fail with the actual element encountered being a StringElement or StringArrayElement
and the expected an AssetSummaryElement or AssetSummaryArrayElement.
Further, if I change the name of the StringElement to for example 'MyStringElement', this is
reported as the actual - i.e. there is no confusion with a standard type at play here.
I also use handlers, one on the server side to inspect security information and one on the
client to insert relevant details and look for returned errors within the header.
Is this a known problem within JWSDP 1.3 and/or 1.4? Are there any workarounds.
My wsdl is provided below along with the wscompile options and the matching configuration
files used.
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="MyAssetService" targetNamespace="http://example.com/MyAssetWebSvc"
xmlns:tns="http://example.com/MyAssetWebSvc"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xsd:schema targetNamespace="http://example.com/MyAssetWebSvc"
xmlns:tns="http://example.com/MyAssetWebSvc"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="AssetSummaryType">
<xsd:all>
<xsd:element name="createdBy" type="xsd:string" />
<xsd:element name="createdDate" type="xsd:dateTime" />
<xsd:element name="description" type="xsd:string" />
<xsd:element name="fileSize" type="xsd:long" />
<xsd:element name="id" type="xsd:long" />
<xsd:element name="modifiedBy" type="xsd:string" />
<xsd:element name="modifiedDate" type="xsd:dateTime" />
<xsd:element name="organisation" type="xsd:string" />
<xsd:element name="owner" type="xsd:string" />
<xsd:element name="title" type="xsd:string" />
<xsd:element name="type" type="xsd:string" />
<xsd:element name="version" type="xsd:long" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="ExceptionType">
<xsd:all>
<xsd:element name="rootCause" type="xsd:string" nillable="true" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="LongArrayType">
<xsd:sequence>
<xsd:element name="LongItem" type="xsd:long" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AssetSummaryArrayType">
<xsd:sequence>
<xsd:element name="AssetSummaryItem" type="tns:AssetSummaryType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StringArrayType">
<xsd:sequence>
<xsd:element name="StringItem" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CredentialsType">
<xsd:all>
<xsd:element name="principal" type="xsd:string" />
<xsd:element name="password" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:element name="LongElement" type="xsd:long"/>
<xsd:element name="StringElement" type="xsd:string"/>
<xsd:element name="LongArrayElement" type="tns:LongArrayType"/>
<xsd:element name="StringArrayElement" type="tns:StringArrayType"/>
<xsd:element name="AssetSummaryElement" type="tns:AssetSummaryType"/>
<xsd:element name="AssetSummaryArrayElement" type="tns:AssetSummaryArrayType"/>
<xsd:element name="CredentialsElement" type="tns:CredentialsType"/>
<xsd:element name="ExceptionElement" type="tns:ExceptionType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="getSummaryMessage">
<wsdl:part name="resourceId" element="tns:LongElement" />
</wsdl:message>
<wsdl:message name="getSummaryResponse">
<wsdl:part name="assetSummary" element="tns:AssetSummaryElement" />
</wsdl:message>
<wsdl:message name="assetException">
<wsdl:part name="exception" element="tns:ExceptionElement" />
</wsdl:message>
<wsdl:message name="getTitle">
<wsdl:part name="resourceId" element="tns:LongElement" />
</wsdl:message>
<wsdl:message name="getTitleResponse">
<wsdl:part name="assetTitle" element="tns:StringElement" />
</wsdl:message>
<wsdl:message name="getSummaries">
<wsdl:part name="resourceIdList" element="tns:LongArrayElement" />
</wsdl:message>
<wsdl:message name="getSummariesResponse">
<wsdl:part name="assetSummaryList" element="tns:AssetSummaryArrayElement" />
</wsdl:message>
<wsdl:message name="getTitles">
<wsdl:part name="resourceIdList" element="tns:LongArrayElement" />
</wsdl:message>
<wsdl:message name="getTitlesResponse">
<wsdl:part name="assetTitleList" element="tns:StringArrayElement" />
</wsdl:message>
<wsdl:message name="securityHeader">
<wsdl:part name="credentials" element="tns:CredentialsElement" />
</wsdl:message>
<wsdl:portType name="AssetService">
<wsdl:operation name="getSummary" parameterOrder="resourceId">
<wsdl:input message="tns:getSummaryMessage" />
<wsdl:output message="tns:getSummaryResponse" />
<wsdl:fault name="AssetException" message="tns:assetException" />
</wsdl:operation>
<wsdl:operation name="getTitle" parameterOrder="resourceId">
<wsdl:input message="tns:getTitle" />
<wsdl:output message="tns:getTitleResponse" />
<wsdl:fault name="AssetException" message="tns:assetException" />
</wsdl:operation>
<wsdl:operation name="getSummaries" parameterOrder="resourceIdList">
<wsdl:input message="tns:getSummaries" />
<wsdl:output message="tns:getSummariesResponse" />
<wsdl:fault name="AssetException" message="tns:assetException" />
</wsdl:operation>
<wsdl:operation name="getTitles" parameterOrder="resourceIdList">
<wsdl:input message="tns:getTitles" />
<wsdl:output message="tns:getTitlesResponse" />
<wsdl:fault name="AssetException" message="tns:assetException" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AssetServiceBinding" type="tns:AssetService">
<wsdl:operation name="getSummary">
<wsdl:input>
<soap:header required="true" message="tns:securityHeader" part="credentials" use="literal" actor="security"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="AssetException">
<soap:fault name="AssetException" use="literal"/>
</wsdl:fault>
<soap:operation soapAction="" />
</wsdl:operation>
<wsdl:operation name="getTitle">
<wsdl:input>
<soap:header required="true" message="tns:securityHeader" part="credentials" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="AssetException">
<soap:fault name="AssetException" use="literal"/>
</wsdl:fault>
<soap:operation soapAction="" />
</wsdl:operation>
<wsdl:operation name="getSummaries">
<wsdl:input>
<soap:header required="true" message="tns:securityHeader" part="credentials" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="AssetException">
<soap:fault name="AssetException" use="literal"/>
</wsdl:fault>
<soap:operation soapAction="" />
</wsdl:operation>
<wsdl:operation name="getTitles">
<wsdl:input>
<soap:header required="true" message="tns:securityHeader" part="credentials" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="AssetException">
<soap:fault name="AssetException" use="literal"/>
</wsdl:fault>
<soap:operation soapAction="" />
</wsdl:operation>
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
</wsdl:binding>
<wsdl:service name="MyAssetService">
<wsdl:port name="AssetServicePort" binding="tns:AssetServiceBinding">
<soap:address location="http://localhost:9090/MyAssetWebSvc/asset" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Here is the wscompile for the server - this is within an ant script that substitutes the variables specified:
wscompile -keep -d ${path.classes} -s ${src.autojava} -import -model model.gz -f:wsi -f:documentliteral server-config.xml
and this is the server config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl location="file:///C:temp/MyAssetService_wsi.wsdl" packageName="example.com.wsserver.asset.wrapper">
<handlerChains>
<chain runAt="server">
<handler className="example.com.wsserver.security.SecurityServerHandler">
<property name="name" value="SecurityServerHandler"/>
</handler>
</chain>
</handlerChains>
</wsdl>
</configuration>
On the client side, here is the wscompile, again with ant variable substitution:
wscompile -gen:client -keep -d ${path.build.wsclient.class} -s ${path.build.wsclient.autojava} -classpath ${path.build.wsclient.class} -f:wsi -f:documentliteral client-config.xml
And here is the client config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl location="file:///C:/temp/MyAssetService_wsi.wsdl" packageName="example.com.wsclient.asset">
<handlerChains>
<chain runAt="client">
<handler className="example.com.wsclient.security.SecurityClientHandler">
<property name="name" value="SecurityClientHandler"/>
</handler>
</chain>
</handlerChains>
</wsdl>
</configuration>
Note that I generate slightly different packages on client and server side. The server includes a 'wrapper' path on the package name - purely because the
generated code wrappers an existent api that I am making available as a web service. This is not needed to be seen
on the client side - i.e. the service appears as is without the wrapper.
I have tried omitting the documentliteral from the wscompiles and this seems to have no effect.
Any help gratefully received.
Best regards
LawrenceThanks for the prompting. I was convinced that the error was occurring client side as I could see no activity on the server. However having captured the soap request and responses its evident that this is not the case (which I'm a little confused on based on my original tests, but the error makes more sense in this context).
The request is below:
<env:Envelope xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://example.com/myAssetWebSvc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<ns1:mmsSecurity env:actor="security" env:mustUnderstand="1" xmlns:ns1="http://example.com/myAssetWebSvc">
<principal>example.user</principal>
<password>mypassword</password>
</ns1:mmsSecurity>
</env:Header>
<env:Body>
<ns0:LongElement>166333</ns0:LongElement>
</env:Body>
</env:Envelope>
I can see from the body that the signature is not unique - its the same as that of the Summary operation. In this case, the server side is performing the summary (rather than the title that I had intended) and returning that response. This gives rise to the deserialisation error on the client side for the response.
Presumably I need to move to the wrapped document literal style so that the request is uniquely identified on the server side.
To me this was not an obvious gotcha, Could the parser (wscompile) be enhanced to trap identical request message definitions within a single service/endpoint definition (i.e. WSDL)? If so where should I post the request? -
Problem in accessing Web Service from Excel
Hi All,
I have faced a new problem when calling WS from Excel.
I have created a WS from CAF which has one method and the method takes a list (a table) of structure as an input and returns a string as output. The structure contains three fields
such as
medPlace -- String
publictn - String
amount - long
This WS is working fine when I am testing from WS Nevigator.
Now I have imported the WS in Excel and now the data types are like
medPlace -- String
publictn - String
amount - double
My requirement is to send the multiple row of the Excel to the WS at a time( I mean as a List). So when I have executed it first time I got error like deserialisation error. But I got an article (SAP Web Services and Microsoft Office: How to Create Simple Composite Applications ) by Marcus Schiffer and that problem is resolved.
But Now I am getting the error like ......Client:Type conversion failure for element eXLSTRUCT0 HRESULT=0x80020005: Type mismatch. - Client:Unspecified client error. HRESULT=0x80020005: Type mismatch.
eXLSTRUCT0 - This is my structure name in input.
Can you please help me to solve this issue.
Thanks in advance
Chandan"vikceo" <[email protected]> wrote in
message
news:gm1pl9$s5h$[email protected]..
> hie
>
> here is the code:
>
> <mx:HTTPService id="headCountService"
> resultFormat="e4x"
> fault="headCountService_fault(event);"
> result="headCountService_result(event);"
>
> url="
http://localhost:8988/HeadCount-HeadCountService-context-root/headcountwsso
> aphttpport"/>
>
>
> private function
headCountService_fault(evt:FaultEvent):void {
> var title:String = evt.type + " (" + evt.fault.faultCode
+ ")";
> var text:String = evt.fault.faultString;
> alert = Alert.show(text, title);
> }
>
> private function
headCountService_result(evt:ResultEvent):void {
> var statListAll:XMLList = new XMLList(evt.result.stat);
> }
>
> I am calling the service in the main mxml file as
> <mx:WindowedApplication xmlns:mx="
http://www.adobe.com/2006/mxml"
> showFlexChrome="false"
> layout="vertical"
> preinitialize="headCountService.send();">
>
> And error is coming from the method
headCountService_fault
Is it possible that your web service is receiving something
with an ill
formed tag. I'd second bitwyse's suggestion. -
Hi,
i want to use Excel (office 2003) with the web services toolkit from Microsoft (2.01) to call Web services from SAP (ABAP 7.0).
In the 6.40 version of ABAP i was able to call a web service also with some complex data types (internal tables) from excel. Finally the trick was to avoid empty input complex types.
Now trying this with the new version seems impossible. The system always respond "deserialisation failed". Tracking the problem shows a nice SOAP request in the SAP system, however, somehow the "deserialisation" error occurs here.
Is there any hint on how to deal with this kind of error ?
Thanks for any advice.
MarcusHi,
first here is the soap request from the SAP trace in SICF: ( a response is not visible due to the deserialisation error)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
- <SOAP-ENV:Body>
- <SOAPSDK4:ZBpcontactCreatefromdata xmlns:SOAPSDK4="urn:sap-com:document:sap:soap:functions:mc-style">
- <SOAPSDK4:Businesspartner SOAPSDK3:arrayType="SOAPSDK4:VbkaVbpa2kom[3]" SOAPSDK3:offset="[0]" SOAPSDK2:type="SOAPSDK3:Array">
- <item>
<Refobjecttype SOAPSDK2:nil="true" />
<Refobjectkey SOAPSDK2:nil="true" />
<DocNumber>1</DocNumber>
<ItmNumber>1</ItmNumber>
<CountParvw>1</CountParvw>
<PartnRole>AG</PartnRole>
<PartnRoleOld>AG</PartnRoleOld>
<PartnId>0000002000</PartnId>
<PartnIdOld>0000002000</PartnIdOld>
<AddrNo SOAPSDK2:nil="true" />
<PersNo SOAPSDK2:nil="true" />
<Addrtype SOAPSDK2:nil="true" />
<AddrOrigin SOAPSDK2:nil="true" />
<UnloadPt SOAPSDK2:nil="true" />
<CalendarUpdate SOAPSDK2:nil="true" />
<AddrLink SOAPSDK2:nil="true" />
</item>
- <item>
<Refobjecttype SOAPSDK2:nil="true" />
<Refobjectkey SOAPSDK2:nil="true" />
<DocNumber>1</DocNumber>
<ItmNumber>1</ItmNumber>
<CountParvw>1</CountParvw>
<PartnRole>AP</PartnRole>
<PartnRoleOld>AP</PartnRoleOld>
<PartnId>0000000005</PartnId>
<PartnIdOld>0000000005</PartnIdOld>
<AddrNo SOAPSDK2:nil="true" />
<PersNo SOAPSDK2:nil="true" />
<Addrtype SOAPSDK2:nil="true" />
<AddrOrigin SOAPSDK2:nil="true" />
<UnloadPt SOAPSDK2:nil="true" />
<CalendarUpdate SOAPSDK2:nil="true" />
<AddrLink SOAPSDK2:nil="true" />
</item>
- <item>
<Refobjecttype SOAPSDK2:nil="true" />
<Refobjectkey SOAPSDK2:nil="true" />
<DocNumber>1</DocNumber>
<ItmNumber>1</ItmNumber>
<CountParvw>1</CountParvw>
<PartnRole>ZM</PartnRole>
<PartnRoleOld>ZM</PartnRoleOld>
<PartnId>0000001708</PartnId>
<PartnIdOld>0000001708</PartnIdOld>
<AddrNo SOAPSDK2:nil="true" />
<PersNo SOAPSDK2:nil="true" />
<Addrtype SOAPSDK2:nil="true" />
<AddrOrigin SOAPSDK2:nil="true" />
<UnloadPt SOAPSDK2:nil="true" />
<CalendarUpdate SOAPSDK2:nil="true" />
<AddrLink SOAPSDK2:nil="true" />
</item>
</SOAPSDK4:Businesspartner>
- <SOAPSDK4:Generaldata SOAPSDK3:arrayType="SOAPSDK4:Bus1037VbkakomCr[1]" SOAPSDK3:offset="[0]" SOAPSDK2:type="SOAPSDK3:Array">
- <item>
<Refobjecttype SOAPSDK2:nil="true" />
<Refobjectkey SOAPSDK2:nil="true" />
<DocNumber>1</DocNumber>
<Refdoctype SOAPSDK2:nil="true" />
<Refreltype SOAPSDK2:nil="true" />
<ActivityType>0001</ActivityType>
<Salesorg>1000</Salesorg>
<DistrChan>10</DistrChan>
<Division>00</Division>
<SalesOff>1000</SalesOff>
<SalesGrp>100</SalesGrp>
<FromDate>11/7/2006</FromDate>
<ToDate>11/7/2006</ToDate>
<FromTime>12:00:00 AM</FromTime>
<ToTime>12:00:00 AM</ToTime>
<Reason>003</Reason>
<Result>005</Result>
<ResultExplanation>005</ResultExplanation>
<State>1</State>
<FollowUpType SOAPSDK2:nil="true" />
<FollowUpDate>12:00:00 AM</FollowUpDate>
<ActivityComment>Das ist ein Test</ActivityComment>
<Descrpt01 SOAPSDK2:nil="true" />
<Descrpt02 SOAPSDK2:nil="true" />
<Descrpt03 SOAPSDK2:nil="true" />
<Descrpt04 SOAPSDK2:nil="true" />
<Descrpt05 SOAPSDK2:nil="true" />
<Descrpt06 SOAPSDK2:nil="true" />
<Descrpt07 SOAPSDK2:nil="true" />
<Descrpt08 SOAPSDK2:nil="true" />
<Descrpt09 SOAPSDK2:nil="true" />
<Descrpt10 SOAPSDK2:nil="true" />
<TxtKonse SOAPSDK2:nil="true" />
<Direction SOAPSDK2:nil="true" />
<PartnRole>AG</PartnRole>
<PartnId>0000002000</PartnId>
<ContactRole>AP</ContactRole>
<Contact>0000000005</Contact>
<Langu SOAPSDK2:nil="true" />
<LanguIso SOAPSDK2:nil="true" />
</item>
</SOAPSDK4:Generaldata>
<SOAPSDK4:Return SOAPSDK2:nil="true" SOAPSDK3:arrayType="SOAPSDK4:Bapiret2[0]" SOAPSDK3:offset="[0]" SOAPSDK2:type="SOAPSDK3:Array" />
- <SOAPSDK4:Sender>
<LogSystem SOAPSDK2:nil="true" />
</SOAPSDK4:Sender>
<SOAPSDK4:Testrun SOAPSDK2:nil="true" />
</SOAPSDK4:ZBpcontactCreatefromdata>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
here is the VB coding in Excel:
The call of the WS is done in standard generated classes from the WS plugin in Excel:
Call contractWS.wsm_ZBpcontactCreatefromdata
Dim contractWS As New clsws_zcreatecontact2Servic
Dim ar_Businesspartner() As New struct_VbkaVbpa2kom
Dim ar_Generaldata(0) As New struct_Bus1037VbkakomCr
Dim ar_Return() As Variant
Dim obj_Sender As New struct_Sender
Dim str_Testrun As String
With ar_Generaldata(0)
.DocNumber = "1"
.ActivityType = "0001"
.Salesorg = "1000"
.DistrChan = "10"
.Division = "00"
.SalesOff = "1000"
.SalesGrp = "100"
.ActivityComment = Range("C9").Text
.FromDate = Format(Range("C8").Text, "yyyy-mm-dd")
.ToDate = Format(Range("C8").Text, "yyyy-mm-dd")
.FromTime = "00:00:00"
.ToTime = "00:00:00"
.Reason = "003"
.Result = "005"
.ResultExplanation = "005"
.State = "1"
.PartnRole = "AG"
.PartnId = "0000002000"
.ContactRole = "AP"
.Contact = "0000000005"
End With
ReDim ar_Businesspartner(2)
With ar_Businesspartner(0)
.DocNumber = "1"
.ItmNumber = "1"
.CountParvw = "1"
.PartnRole = "AG"
.PartnRoleOld = "AG"
.PartnId = "0000002000"
.PartnIdOld = "0000002000"
End With
With ar_Businesspartner(1)
.DocNumber = "1"
.ItmNumber = "1"
.CountParvw = "1"
.PartnRole = "AP"
.PartnRoleOld = "AP"
.PartnId = "0000000005"
.PartnIdOld = "0000000005"
End With
With ar_Businesspartner(2)
.DocNumber = "1"
.ItmNumber = "1"
.CountParvw = "1"
.PartnRole = "ZM"
.PartnRoleOld = "ZM"
Dim id As String
id = Range("C7").Value
.PartnId = id
.PartnIdOld = id
End With
Call contractWS.wsm_ZBpcontactCreatefromdata( _
ar_Businesspartner, _
ar_Generaldata, _
ar_Return, _
obj_Sender, _
str_Testrun _
Message was edited by: Marcus Schiffer
Message was edited by: Marcus Schiffer -
soap:operation soapAction="" /
Hi all
In my wsdl soap action value is missing , it only shows
<soap:operation soapAction="" />
how to fix this problem ,1- I have created a viryual interface
2, Web service definitiom
3, WS Config
And from
WS admin i download the WSDL in which soap action value is missing , i am adding the WSDL with this , I can consume this webservice from my ECC5.0 the same server where i created this webservice , but from java i cant access it , its showind deserialisation error
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:n0="http://www.sap.com/webas/630/soap/features/authentication/" xmlns:sap="http://www.sap.com/webas/630/wsdl/features" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:sap-com:document:sap:soap:functions:mc-style" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:soap:functions:mc-style" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style" elementFormDefault="unqualified" attributeFormDefault="qualified">
- <xsd:element name="YAddWebSer">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="Number1" type="xsd:int" />
<xsd:element name="Number2" type="xsd:int" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
- <xsd:element name="YAddWebSerResponse">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="Result" type="xsd:int" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="YAddWebSer">
<wsdl:part name="parameters" element="tns:YAddWebSer" />
</wsdl:message>
- <wsdl:message name="YAddWebSerResponse">
<wsdl:part name="parameters" element="tns:YAddWebSerResponse" />
</wsdl:message>
- <sap:Feature name="design_0" uri="http://www.sap.com/webas/630/soap/features/authentication/">
- <sap:Property qname="n0:AuthenticationLevel">
<sap:Option value="n0:Basic" />
</sap:Property>
</sap:Feature>
- <wsdl:portType name="z_add_add_web">
<sap:useFeature feature="tns:design_0" />
- <wsdl:operation name="YAddWebSer">
<wsdl:input message="tns:YAddWebSer" />
<wsdl:output message="tns:YAddWebSerResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="z_add_add_webSoapBinding" type="tns:z_add_add_web">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="YAddWebSer">
<soap:operation soapAction="" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="z_add_add_webService">
- <wsdl:port name="z_add_add_webSoapBinding" binding="tns:z_add_add_webSoapBinding">
<soap:address location="http://sap-remote.sap-remote.com:8020/sap/bc/srt/rfc/sap/z_add_add_web?sap-client=800" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
and anoyher missing lines are ***********************************************************
+ <wsdl:port name="periodictableHttpGet" binding="tns:periodictableHttpGet">
- <wsdl:port name="periodictableHttpPost" binding="tns:periodictableHttpPost">
this i coppied from internet to compare with my WSDL -
Asynch web services having serialization problem wint 7.0SP1
Hi,
I've tried creating a simple async web service that sends a Java bean to a web
service that's implemented
as an MDB. i.e. The java bean is of type malcolm.AimosMatchedRequest and is therefore
delivered as
an ObjectMessage.
I keep getting a deserialising error listed below in the Weblogic log.
Now if I do a serialver on my Javabean class I get the value 6661344068394585445
in agreement with the log for the stream classdesc. I therefore presume that
the
local class, is the server view which I guess is the SOAP unmarshaled/generated
class that
WebLogic is expecting???
How do I deal with this problem? Note that explitiely forcing the serialuid in
my Javabean class
does not help, which to me confirms that WebLogic is geenrating some SOAP equiv
class.
regards
--malcolm
weblogic.jms.common.JMSException: Error deserializing object
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:140)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
----------- Linked Exception -----------
java.io.InvalidClassException: malcolm.AimosMatchedRequest; Local class not comp
atible: stream classdesc serialVersionUID=6661344068394585445 local class serial
VersionUID=7727103220180333880
at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
18)
at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:931)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:128)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
weblogic.jms.common.JMSException: Error deserializing object
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:140)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
----------- Linked Exception -----------
java.io.InvalidClassException: malcolm.AimosMatchedRequest; Local class not comp
atible: stream classdesc serialVersionUID=6661344068394585445 local class serial
VersionUID=7727103220180333880
at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
18)
at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:931)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
at weblogic.jms.common.ObjectMessageImpl.getObject(ObjectMessageImpl.jav
a:128)
at malcolm.AimosMatchedBean.onMessage(AimosMatchedBean.java:68)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:356)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.
java:290)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:271)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2303)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2226)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)Bruce Stephens <[email protected]> wrote:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hi Malcolm,
<p>There's been a significant amount of work done on async services in
conjunction with reliable ws messaging that will be available in the
next
release.
<p>Can you/your customer be part of the upcoming beta?Certainly keen to participate. I presume from what you've said that SP1 is still
problematic for async. I've found that SP1 seems pretty good for synch web services
(addressed issues I had with 7.0).
regards
--malcolm
<p>Thanks,
<br>Bruce
<p>Malcolm Robbins wrote:
<blockquote TYPE=CITE>Wow,
<br> based on no replies it appears that no one is actually using
asynch web services.
<p>It looks like I better recommend to my (large bea customer) that WebLogic
async
<br>web services are not ready for prime time...
<p>regards
<p>--malcolm</blockquote>
</html> -
Error "Deserialisation failed" when trying to use BAPI via a web service
I created a web service in BW with the help from the wizard WS_WZD_START. The web service contains
(among others) the RFC BAPI_ODSO_READ_DATA_UC.
The web service runs OK & can be used from the SAP Web Services Navigator.
Now when i try to use the web service from Delphi i get
an error: "Deserialisation failed" (SimpleTransformationFault) "ODSOBJECT erwartet".
The ODSOBJECT parameter is there to be sure.
I saw the same error before in this forum but found no real solution there. I am using BW 6.40 & SP 12.
XML sent:
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<sapsess:Session xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/">
<enableSession>true</enableSession></sapsess:Session></SOAP-ENV:Header>
<SOAP-ENV:Body><ns1:BAPI_ODSO_READ_DATA_UC xmlns:ns1='urn:sap-com:document:sap:rfc:functions'>
<DATALAYOUT></DATALAYOUT><INFOOBJECTLIST><item>
<INFOOBJECT>/CIVGM/NUM</INFOOBJECT></item></INFOOBJECTLIST>
<MAXROWS>2</MAXROWS><ODSOBJECT>/CIVGM/BPLO001</ODSOBJECT><ORDERBY></ORDERBY>
<RESULTDATA></RESULTDATA><SELECTIONCRITERIA></SELECTIONCRITERIA><UNICODE>N</UNICODE>
</ns1:BAPI_ODSO_READ_DATA_UC></SOAP-ENV:Body></SOAP-ENV:Envelope>
Answer:
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Body><soap-env:Fault><faultcode>soap-env:Client</faultcode>
<faultstring xml:lang="en">Deserialisation failed</faultstring>
<detail><n0:SimpleTransformationFault xmlns:n0="http://www.sap.com/transformation-templates">
<MainName>/1BCDWB/WSS0050825153239449000</MainName>
<ProgName>/1BCDWB/WSS0050825153239449000</ProgName>
<Line>73 </Line>
<Valid>X</Valid>
<MatchFault>
<DescriptionText>Element 'ODSOBJECT' erwartet</DescriptionText>
<TokenType>S</TokenType>
<TokenName>CODEPAGE</TokenName>
<TokenNameSpace>urn:sap-com:document:sap:rfc:functions</TokenNameSpace>
<TokenValue></TokenValue>
</MatchFault><Caller>
<Class>CL_SRG_RFC_PROXY_CONTEXT</Class>
<Method>IF_SXML_PART~DECODE</Method>
<Positions>1 </Positions>
</Caller></n0:SimpleTransformationFault>
</detail></soap-env:Fault>
</soap-env:Body></soap-env:Envelope>
The same error occurs when I take the exact XML that was sent from Web Services Navigator (the XML that worked) and send that from Delphi.
What could be wrong?Hi Simon,
Other thing you can do is compare the HTTP requests (including header) from both Delphi and XMLSPY. I suspect if the SOAP message is same in both case the difference might be in the header. But one thing is certain, WAS can not respond differently for same request, don't you think so ?
Cheers,
Sanjeev -
Web Service error deserialisation failed.
Hi Guru's,
I have set up a Web Service, generated via a Z-Bapi. When posting to the webservice I am getting an error message saying:
deserialisation failed
So i did a search and found 2 SAP notes:
- SAP Note 892944 Deserialisation failed
- SAP Note 830340 SOAP request - Deserialisation failed
Both notes I checked, I renegerated the webservice and checked the package. The package is even a higher version, so must be ok.
This is the WSDL generated from the Z-Bapi; http://www.koopmann.nu/test/ZBAPI_GET_MAT_DESC_2.wsdl
This link contains the actual soap message used during posting: http://www.koopmann.nu/test/soap_msg_example.xml
Does anyone have another idea on this? maybe the soap message is not correct?
Best regards,
Guido KoopmannAnother strange thing is that when I post this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:rfc:functions">
<soapenv:Header/>
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
Basicly just the SOAP enveloppe, I get an HTTP 200 Ok back. -
Hi All,
I have a custom BAPI developed within the ECC 6.0 system which is then exposed as a web service. I have accessed this wsdl file from WSADMIN tcode and imported that into my WD Model. Now when I execute the WD Component I get a deserialisation failed error after setting all the input fields.
Can any one help me to overcome this error ?
Thanks
Rg/Venkat.Hi Sergei,
All are of type String.
But i observed one thing here.
All Date fields are converted into of type string after i imported the wsdl as a web service model.
When i set the value to date input field, i call execute method of web service.
Now i m getting this error ?
Any clue .. Pls suggest to resolve this error.
Thanks in advance.
Reg/Venkat -
Error in webservice call | Error in XML Document(1,358)
Hi all,
We currently have a web service developed in Java, which we're calling from
a dot net coded windows form. this web service is returning an object of type
abc (say). Now, when we try and get a response from java server on the form,
i'm getting the following error:
There is an error in XML document (1, 358)
Does this have something to do with a java serialised object not being able
to get deserialised in dot net? Or is it something else?
Also, I have a web reference that has been created on this java web service.
This I believe means that the object that we're trying to get on the dot net
client would be the java object that is being sent from the web service.
Point to be noted is the fact that this web service was working absolutely fine till about 2 days ago.
Any pointers are gladly appreciated.
Cheers!
NickSorry for not mentioning the product versions:
The bpel process was build and deployed with Jdeveloper Studio edition version 10.1.3.1.0.3984 on a Bpel server/Application Server with version 10.1.3.1 (NT). -
Bad Archive return org.apache.axis2.AxisFault: Deserialisation failed
We tried to generate stub using Axis2-1.5 tool from SAP WSDL file. We developed the Java client to consume the Web Services with Stub. When we tried to connect and send the required data received the following error.
Bad Archive return org.apache.axis2.AxisFault: Deserialisation failed
org.apache.axis2.AxisFault: Deserialisation failed
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:517)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at mc_style.functions.soap.sap.document.sap_com.Z_BAPI_PARKServiceStub.zBapiParkDocument(Z_BAPI_PARKServiceStub.java:181)
at com.newgen.wns.util.TestArchiveClient.main(TestArchiveClient.java:275)
Could you please help us in the same. Client Code and WSDL for Web Service created by our SAP team is attached for your reference.Try posting the full stacktrace that you are getting and the relevant code.
Maybe you are looking for
-
Backing up and restoring tablespaces with RMAN
We have some tables that we want to backup and other tables that we don't. We are separating these tables by tablespaces and schema. SchemaA uses tablespaceA SchemaB uses tablespacesB We are also backing up sys sysaux undo tablespaces. Lets say we lo
-
I can't find any of the tabs for tools to switch to my manual proxy. Also, it disable a lot of tabs I use to have.
-
I heard their are problems updating your mac os x lion to 10.7.3 can anyone help me
is their a problem and if their isnt can anyone tell me if they had problems with it
-
2 devices 1 acount in game center
please help i have iPhone and iPad and i have one apple ID on the both when i try to sign in game center in my iPad it made new acount i need to delet this new acount and use same acount in all my devices please how can i?
-
Open/Save Panels taking *forever* to open
Hi all The last few months, the open and save panels have been taking forever to open on my mac (by forever, I mean I will have to sit and watch the spinning beach-ball for at least a minute while the computer thinks about it). It normally (well, alw