Deserialization error: unexpected XML reader state. expected: END but foun

Can anyone help why there is an ERROR when invoking web service (Using 1.4.2 and jwsdp 1.6 )
The ERROR
java.rmi.RemoteException: Runtime exception; nested exception is:
deserialization error: unexpected XML reader state. expected: END but found: START: accoId
at com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(StreamingSender.java:331)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:313)
at webservices.dispatcherExim.DispatcherEximPort_Stub.getArrayVO(DispatcherEximPort_Stub.java:69)
at client.StatsClient2.main(Unknown Source)
Caused by: deserialization error: unexpected XML reader state. expected: END but found: START: accoId
at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:233)
at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:155)
at webservices.dispatcherExim.DispatcherEximPort_getArrayVO_ResponseStruct_SOAPSerializer.doDeserialize(DispatcherExi
mPort_getArrayVO_ResponseStruct_SOAPSerializer.java:43)
at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:192)
at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:155)
at webservices.dispatcherExim.DispatcherEximPort_Stub._deserialize_getArrayVO(DispatcherEximPort_Stub.java:117)
at webservices.dispatcherExim.DispatcherEximPort_Stub._readFirstBodyElement(DispatcherEximPort_Stub.java:104)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
... 2 more
Command to create stubs
wscompile.bat -verbose -gen:both -f:searchschema -f:rpcliteral -f:wsi -keep -s src -d build src/config.xml
This is config.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration
xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl
location="./src/DispatcherExim.wsdl"
packageName="webservices.dispatcherExim" />
</configuration>
Calling
java -Djava.endorsed.dirs=%JWSDP_HOME%jaxp\lib%JWSDP_HOME%jaxp\lib\endorsed -classpath .;%JWSDP_HOME%saaj\lib\saaj-api.jar;%JWSDP_HOME%saaj\lib\saaj-impl.jar;%JWSDP_HOME%jaxrpc\lib\jaxrpc-spi.jar;%JWSDP_HOME%jaxrpc\lib\jaxrpc-api.jar;%JWSDP_HOME%jaxrpc\lib\jaxrpc-impl.jar;%JWSDP_HOME%jwsdp-shared\lib\mail.jar;%JWSDP_HOME%jwsdp-shared\lib\activation.jar;C:\jpro\xml\jwsdl\dist\client.jar;C:\jpro\xml\jwsdl\dist\wsstub-xt.jar;C:\jwsdp1.5\jwsdp-shared\lib\commons-logging.jar client.StatsClient2
This is a Response
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:getArrayVOResponse xmlns:m="http://www.eximb.com/nimius/Dispatch">
<result xmlns:n1="java:com.eximb.nimius.base.common.data" xsi:type="n1:ArrayVO">
<accoId xsi:type="xsd:decimal">1</accoId>
<name xsi:type="xsd:string">TEST </name>
<prodValueDate xsi:type="xsd:dateTime">2005-06-24T14:59:01.093+03:00</prodValueDate>
</result>
</m:getArrayVOResponse>
</env:Body>
</env:Envelope>
Here is WSDL
<?xml version="1.0" encoding="utf-8" ?>
- <definitions xmlns:tns="http://www.eximb.com/nimius/Dispatch" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12enc="http://www.w3.org/2002/12/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.eximb.com/nimius/Dispatch">
- <types xmlns:tns="http://www.eximb.com/nimius/Dispatch" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12enc="http://www.w3.org/2002/12/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/">
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:com.eximb.nimius.base.common.data" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:com.eximb.nimius.base.common.data">
- <xsd:complexType name="ArrayVO">
- <xsd:sequence>
<xsd:element type="xsd:decimal" name="accoId" minOccurs="1" nillable="true" maxOccurs="1" />
<xsd:element type="xsd:string" name="name" minOccurs="1" nillable="true" maxOccurs="1" />
<xsd:element type="xsd:dateTime" name="prodValueDate" minOccurs="1" nillable="true" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="getArrayVO" />
- <message name="getArrayVOResponse">
<part xmlns:partns="java:com.eximb.nimius.base.common.data" type="partns:ArrayVO" name="result" />
</message>
- <portType name="DispatcherEximPort">
- <operation name="getArrayVO">
<input message="tns:getArrayVO" />
<output message="tns:getArrayVOResponse" />
</operation>
</portType>
- <binding type="tns:DispatcherEximPort" name="DispatcherEximPort">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="getArrayVO">
<soap:operation style="rpc" soapAction="" />
- <input>
<soap:body namespace="http://www.eximb.com/nimius/Dispatch" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
</input>
- <output>
<soap:body namespace="http://www.eximb.com/nimius/Dispatch" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" />
</output>
</operation>
</binding>
- <service name="DispatcherExim">
- <port name="DispatcherEximPort" binding="tns:DispatcherEximPort">
<soap:address location="http://localhost:7001//DispatcherExim" />
</port>
</service>
</definitions>
Thank you.

I have had this problem and I found that I was sending elements in a different order than the order specified in the WSDL. The elements don't all have to be present, but any that are present need to be in the same sequence.

Similar Messages

  • Deserialization error: unexpected XML reader state. expected: END but found

    I have a JWSDP (on weblogic 8.1 SP2) web service that is supposed to return a string that contains a small XML file. The client can call and invoke the service just fine and the service runs. When the client reads the response it blows up with the error below, what is causing this? The response looks okay to me.
    ====================================
    ERROR FROM THE CLIENT
    ====================================
    [java] java.rmi.RemoteException: Runtime exception; nested exception is:
    [java] deserialization error: unexpected XML reader state. expected: END but found: START: exchangeDataResult
    [java] at com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(Ljava.lang.RuntimeExceptionV(StreamingSender.java:248)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(Ljava.lang.String;Lcom.sun.xml.rpc.client.StreamingSenderStateV(StreamingSender.java:230)
    [java] at com.mcdata.websvc.riverbed.server.DataExchangerSoap_Stub.exchangeData(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Ljava.lang.StringLjava.lang.String;(DataExchangerSoap_Stub.java:70)
    [java] at jsp_compiled.__index._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponseV(__index.java:141)
    [java] at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponseV(JspBase.java:33)
    [java] at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:971)
    [java] at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImplV(ServletStubImpl.java:402)
    [java] at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponseV(ServletStubImpl.java:305)
    [java] at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lang.Object;(WebAppServletContext.java:6350)
    [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedActionLjava.lang.Object;(AuthenticatedSubject.java:317)
    [java] at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedActionLjava.lang.Object;(SecurityManager.java:118)
    [java] at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.internal.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImplV(WebAppServletContext.java:3635)
    [java] at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThreadV(ServletRequestImpl.java:2585)
    [java] at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequestV(ExecuteThread.java:197)
    [java] at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
    [java] at java.lang.Thread.startThreadFromVM(Ljava.lang.ThreadV(Unknown Source)
    [java] Caused by: deserialization error: unexpected XML reader state. expected: END but found: START: exchangeDataResult
    [java] at com.sun.xml.rpc.encoding.literal.LiteralSimpleTypeSerializer.deserialize(Ljavax.xml.namespace.QName;Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContextLjava.lang.Object;(LiteralSimpleTypeSeri
    alizer.java:133)
    [java] at com.mcdata.websvc.riverbed.server.DataExchangerSoap_Stub._deserialize_exchangeData(Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContext;Lcom.sun.xml.rpc.client.StreamingSenderStateV(DataExchan
    gerSoap_Stub.java:117)
    [java] at com.mcdata.websvc.riverbed.server.DataExchangerSoap_Stub._readFirstBodyElement(Lcom.sun.xml.rpc.streaming.XMLReader;Lcom.sun.xml.rpc.encoding.SOAPDeserializationContext;Lcom.sun.xml.rpc.client.StreamingSenderStateV(DataExchangerS
    oap_Stub.java:104)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(Ljava.lang.String;Lcom.sun.xml.rpc.client.StreamingSenderStateV(StreamingSender.java:158)
    [java] ... 14 more
    ====================================
    SOAP RESPONSE
    ====================================
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    </env:Header>
    <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <m:exchangeDataResponse xmlns:m="https://partners.mcdata.com">
    <exchangeDataResult xsi:type="xsd:string"><status>OK</status>
    <message>Transaction accepted.</message></exchangeDataResult>
    </m:exchangeDataResponse>
    </env:Body>
    </env:Envelope>
    ====================================
    WSDL
    ====================================
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns="https://partners.mcdata.com"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    targetNamespace="https://partners.mcdata.com"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    name="">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="https://partners.mcdata.com">
    <s:element name="exchangeData">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="sender" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="transactionType" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="exchangeDataResponse" type="s:string" />
    </s:schema>
    </wsdl:types>
    <wsdl:message name="exchangeDataSoapIn">
    <wsdl:part name="parameters" element="tns:exchangeData" />
    </wsdl:message>
    <wsdl:message name="exchangeDataSoapOut">
    <wsdl:part name="parameters" element="tns:exchangeDataResponse" />
    </wsdl:message>
    <wsdl:portType name="DataExchangerSoap">
    <wsdl:operation name="exchangeData">
    <wsdl:input message="tns:exchangeDataSoapIn" />
    <wsdl:output message="tns:exchangeDataSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="DataExchangerSoap" type="tns:DataExchangerSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="exchangeData">
    <soap:operation soapAction="https://208.47.133.243/riverbedshipserver/exchangeData" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="DataExchanger">
    <wsdl:port name="DataExchangerSoap" binding="tns:DataExchangerSoap">
    <soap:address location="https://208.47.133.243/riverbedshipserver/exchangeData" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    ====================================
    web-services.xml
    ====================================
    <web-services>
    <web-service
    name="riverbedshipserver"
    targetNamespace="https://partners.mcdata.com"
    uri="exchangeData"
    >
    <components>
    <java-class name="DataExchanger" class-name="com.mcdata.websvc.riverbed.server.DataExchangerImpl"/>
    </components>
    <operations xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <operation name="exchangeData" component="DataExchanger" method="exchangeData">
    <params>
    <param name="sender" style="in" type="xsd:string" location="header"/>
    <param name="password" style="in" type="xsd:string" location="header"/>
    <param name="transactionType" style="in" type="xsd:string" location="header"/>
    <param name="data" style="in" type="xsd:string" location="header"/>
    <return-param name="exchangeDataResult" type="xsd:string"/>
    </params>
    </operation>
    </operations>
    </web-service>
    </web-services>

    This is caused by the response xml parameter is greater than the response parameter you have specified in your wsdl. Try to use packet monitoring to monitor all the process, you will notice that problems.

  • Error: unexpected XML reader state. expected: END but found: START:

    I am getting following error while invoking method 'GetVersionInfo' (.net web service over dll) which takes one input parameter(string) and gives two output parameters(both short):
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: deserialization
    error: unexpected XML reader state. expected: END but found: START:
    {UPPLink}pnVersionMajor
    ORA-06512: at "SYS.UTL_DBWS", line 388
    ORA-06512: at "SYS.UTL_DBWS", line 385
    ORA-06512: at line 40
    Expected Request is as follows:
    POST /UPPLink/UPPLink.asmx HTTP/1.1
    Host: 172.16.1.38
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "UPPLink/GetVersionInfo"
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GetVersionInfo xmlns="UPPLink">
    <ignore>string</ignore>
    </GetVersionInfo>
    </soap:Body>
    </soap:Envelope>
    EXpected Response is as follows:
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GetVersionInfoResponse xmlns="UPPLink">
    <GetVersionInfoResult>
    <pnVersionMajor>short</pnVersionMajor>
    <pnVersionMinor>short</pnVersionMinor>
    </GetVersionInfoResult>
    </GetVersionInfoResponse>
    </soap:Body>
    </soap:Envelope>
    The PL/SQL code I am using is as follows:
    DECLARE
    service_ sys.utl_dbws.SERVICE;
    call_ sys.UTL_DBWS.call;
    service_qname sys.utl_dbws.QNAME;
    port_qname sys.utl_dbws.QNAME;
    operation_qname sys.utl_dbws.QNAME;
    string_type_qname sys.utl_dbws.QNAME;
    number_type_qname sys.utl_dbws.QNAME;
    retx ANYDATA;
    strEntry VARCHAR2(100);
    retx_string VARCHAR2(100);
    majorVersion NUMBER;
    minorVersion NUMBER;
    params sys.utl_dbws.ANYDATA_LIST;
    v_outputs sys.utl_dbws.anydata_list;
    BEGIN
    dbms_output.put_line('Starting Function');
    service_qname := sys.utl_dbws.to_qname(null, 'UPPLink');
    strEntry := 'vab';
    dbms_output.put_line('Creating Service');
    service_ := sys.utl_dbws.create_service(HTTPURITYPE('http://172.16.1.38/UPPLink/UPPLink.asmx?WSDL'), service_qname);
    dbms_output.put_line('Creating Operation');
    operation_qname := sys.utl_dbws.to_qname(null, 'GetVersionInfo');
    dbms_output.put_line('Calling Service');
    call_ := sys.utl_dbws.create_call(service_, null, operation_qname);
    sys.utl_dbws.set_property(call_, 'SOAPACTION_USE', 'true');
    sys.utl_dbws.set_property(call_, 'SOAPACTION_URI', 'UPPLink/GetVersionInfo');
    sys.utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    string_type_qname := sys.utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    number_type_qname := sys.utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'short');
    sys.utl_dbws.add_parameter(call_, 'ignore', string_type_qname, 'ParameterMode.IN');
    sys.utl_dbws.add_parameter(call_, 'pnVersionMinor', number_type_qname, 'ParameterMode.OUT');
    sys.utl_dbws.set_return_type(call_, number_type_qname);
    params(0) := ANYDATA.convertvarchar2(strEntry);
    dbms_output.put('Invoking with Input Parameter: ');
    dbms_output.put_line(ANYDATA.ACCESSVARCHAR2(params(0)));
    retx := sys.utl_dbws.invoke(call_, params);
    dbms_output.put_line('Invoke complete');
    majorVersion := retx.accessnumber;
    dbms_output.put_line('Major Version ' || majorVersion);
    v_outputs := SYS.utl_dbws.get_output_values(call_);
    minorVersion := ANYDATA.AccessNumber(v_outputs(1));
    dbms_output.put_line('Minor Version ' || minorVersion);
    sys.utl_dbws.release_service(service_);
    END;
    /

    Actually, the name needs to match what is specified in the WSDL file.

  • Unexpected XML reader state. expected: END but found: START:

    Hi,
    I am wrote a web client using JWSDP-2.0 and JWSDP-1.4.
    When I run my client I get following error.
    java.rmi.RemoteException: Runtime exception; nested exception is:
    deserialization error: unexpected XML reader state. expected: END but found: START: m_dValue; nested e
    xception is:
    java.rmi.RemoteException: Runtime exception; nested exception is:
    deserialization error: unexpected XML reader state. expected: END but found: START: m_dValue
    at com.engagenet.protoObj.wizcon.TagServiceSoap_Stub.readTagValues(TagServiceSoap_Stub.java:92)
    at com.engagenet.protoObj.wizcon.TagService_Impl.main(TagService_Impl.java:78)
    Caused by: java.rmi.RemoteException: Runtime exception; nested exception is:
    deserialization error: unexpected XML reader state. expected: END but found: START: m_dValue
    at com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(StreamingSender.java:331)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:313)
    at com.engagenet.protoObj.wizcon.TagServiceSoap_Stub.readTagValues(TagServiceSoap_Stub.java:70)
    ... 1 more
    Caused by: deserialization error: unexpected XML reader state. expected: END but found: START: m_dValue
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:233)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:1
    55)
    at com.sun.xml.rpc.encoding.ObjectArraySerializer.deserializeArrayInstance(ObjectArraySerializer.java:
    207)
    at com.sun.xml.rpc.encoding.ArraySerializerBase.deserialize(ArraySerializerBase.java:260)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:1
    55)
    at com.engagenet.protoObj.wizcon.TagServiceSoap_ReadTagValues_ResponseStruct_SOAPSerializer.doDeserial
    ize(TagServiceSoap_ReadTagValues_ResponseStruct_SOAPSerializer.java:43)
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:192)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:1
    55)
    at com.engagenet.protoObj.wizcon.TagServiceSoap_Stub._deserialize_ReadTagValues(TagServiceSoap_Stub.ja
    va:336)
    at com.engagenet.protoObj.wizcon.TagServiceSoap_Stub._readFirstBodyElement(TagServiceSoap_Stub.java:31
    1)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
    ... 2 more
    Here is my wsdl file
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:WizWebService" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="urn:WizWebService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="urn:WizWebService">
    <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    <s:complexType name="ReadTagValues_return_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="tns:TagValue[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="ReadTagValues_tagNames_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="ReadTagStringValues_return_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="tns:TagStringValue[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="ReadTagStringValues_tagNames_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="WriteTagValues_return_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="tns:QUALITY[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="WriteTagValues_tagNames_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="WriteTagValues_tagValues_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="s:double[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="WriteTagStringValues_return_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="tns:QUALITY[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="WriteTagStringValues_tagNames_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="WriteTagStringValues_tagValues_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="s:string[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:complexType name="GetTagNames_return_Array">
    <s:complexContent mixed="false">
    <s:restriction base="soapenc:Array">
    <s:attribute wsdl:arrayType="tns:TagName[]" ref="soapenc:arrayType" />
    </s:restriction>
    </s:complexContent>
    </s:complexType>
    <s:simpleType name="TAG_FORMAT">
    <s:restriction base="s:string">
    <s:enumeration value="F_STRING" />
    <s:enumeration value="F_NUMERIC" />
    </s:restriction>
    </s:simpleType>
    <s:simpleType name="QUALITY">
    <s:restriction base="s:string">
    <s:enumeration value="Q_ERR" />
    <s:enumeration value="Q_OK" />
    </s:restriction>
    </s:simpleType>
    <s:complexType name="TagStringValue">
    <s:sequence>
    <s:element name="m_bstrValue" type="s:string" />
    <s:element name="m_Quality" type="tns:QUALITY" />
    </s:sequence>
    </s:complexType>
    <s:complexType name="TagName">
    <s:sequence>
    <s:element name="m_bstrName" type="s:string" />
    <s:element name="m_Format" type="tns:TAG_FORMAT" />
    </s:sequence>
    </s:complexType>
    <s:complexType name="TagValue">
    <s:sequence>
    <s:element name="m_dValue" type="s:double" />
    <s:element name="m_Quality" type="tns:QUALITY" />
    </s:sequence>
    </s:complexType>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="ReadTagValuesIn">
    <wsdl:part name="tagNames" type="tns:ReadTagValues_tagNames_Array" />
    </wsdl:message>
    <wsdl:message name="ReadTagValuesOut">
    <wsdl:part name="return" type="tns:ReadTagValues_return_Array" />
    </wsdl:message>
    <wsdl:message name="ReadTagStringValuesIn">
    <wsdl:part name="tagNames" type="tns:ReadTagStringValues_tagNames_Array" />
    </wsdl:message>
    <wsdl:message name="ReadTagStringValuesOut">
    <wsdl:part name="return" type="tns:ReadTagStringValues_return_Array" />
    </wsdl:message>
    <wsdl:message name="WriteTagValuesIn">
    <wsdl:part name="tagNames" type="tns:WriteTagValues_tagNames_Array" />
    <wsdl:part name="tagValues" type="tns:WriteTagValues_tagValues_Array" />
    </wsdl:message>
    <wsdl:message name="WriteTagValuesOut">
    <wsdl:part name="return" type="tns:WriteTagValues_return_Array" />
    </wsdl:message>
    <wsdl:message name="WriteTagStringValuesIn">
    <wsdl:part name="tagNames" type="tns:WriteTagStringValues_tagNames_Array" />
    <wsdl:part name="tagValues" type="tns:WriteTagStringValues_tagValues_Array" />
    </wsdl:message>
    <wsdl:message name="WriteTagStringValuesOut">
    <wsdl:part name="return" type="tns:WriteTagStringValues_return_Array" />
    </wsdl:message>
    <wsdl:message name="GetTagNamesIn">
    <wsdl:part name="bstrStnName" type="s:string" />
    </wsdl:message>
    <wsdl:message name="GetTagNamesOut">
    <wsdl:part name="return" type="tns:GetTagNames_return_Array" />
    </wsdl:message>
    <wsdl:portType name="TagServiceSoap">
    <wsdl:operation name="ReadTagValues">
    <wsdl:input message="tns:ReadTagValuesIn" />
    <wsdl:output message="tns:ReadTagValuesOut" />
    </wsdl:operation>
    <wsdl:operation name="ReadTagStringValues">
    <wsdl:input message="tns:ReadTagStringValuesIn" />
    <wsdl:output message="tns:ReadTagStringValuesOut" />
    </wsdl:operation>
    <wsdl:operation name="WriteTagValues">
    <wsdl:input message="tns:WriteTagValuesIn" />
    <wsdl:output message="tns:WriteTagValuesOut" />
    </wsdl:operation>
    <wsdl:operation name="WriteTagStringValues">
    <wsdl:input message="tns:WriteTagStringValuesIn" />
    <wsdl:output message="tns:WriteTagStringValuesOut" />
    </wsdl:operation>
    <wsdl:operation name="GetTagNames">
    <wsdl:input message="tns:GetTagNamesIn" />
    <wsdl:output message="tns:GetTagNamesOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TagServiceSoap" type="tns:TagServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
    <wsdl:operation name="ReadTagValues">
    <soap:operation soapAction="#ReadTagValues" style="rpc" />
    <wsdl:input>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ReadTagStringValues">
    <soap:operation soapAction="#ReadTagStringValues" style="rpc" />
    <wsdl:input>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="WriteTagValues">
    <soap:operation soapAction="#WriteTagValues" style="rpc" />
    <wsdl:input>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="WriteTagStringValues">
    <soap:operation soapAction="#WriteTagStringValues" style="rpc" />
    <wsdl:input>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTagNames">
    <soap:operation soapAction="#GetTagNames" style="rpc" />
    <wsdl:input>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="encoded" namespace="urn:WizWebService" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="TagService">
    <wsdl:port name="TagServiceSoap" binding="tns:TagServiceSoap">
    <soap:address location="http://212.157.43.123:80/wiz_ws/wizws.dll?Handler=TagService" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    Here is my web client
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1.3, build R1)
    // Generated source version: 1.1.3
    package com.engagenet.protoObj.wizcon;
    import com.sun.xml.rpc.encoding.*;
    import com.sun.xml.rpc.client.ServiceExceptionImpl;
    import com.sun.xml.rpc.util.exception.*;
    import com.sun.xml.rpc.soap.SOAPVersion;
    import com.sun.xml.rpc.client.HandlerChainImpl;
    import javax.xml.rpc.*;
    import javax.xml.rpc.encoding.*;
    import javax.xml.rpc.handler.HandlerChain;
    import javax.xml.rpc.handler.HandlerInfo;
    import javax.xml.namespace.QName;
    public class TagService_Impl extends com.sun.xml.rpc.client.BasicService implements TagService {
    private static final QName serviceName = new QName("urn:WizWebService", "TagService");
    private static final QName ns1_TagServiceSoap_QNAME = new QName("urn:WizWebService", "TagServiceSoap");
    private static final Class tagServiceSoap_PortClass = com.engagenet.protoObj.wizcon.TagServiceSoap.class;
    public TagService_Impl() {
    super(serviceName, new QName[] {
    ns1_TagServiceSoap_QNAME
    new com.engagenet.protoObj.wizcon.TagService_SerializerRegistry().getRegistry());
    public java.rmi.Remote getPort(javax.xml.namespace.QName portName, java.lang.Class serviceDefInterface) throws javax.xml.rpc.ServiceException {
    try {
    if (portName.equals(ns1_TagServiceSoap_QNAME) &&
    serviceDefInterface.equals(tagServiceSoap_PortClass)) {
    return getTagServiceSoap();
    } catch (Exception e) {
    throw new ServiceExceptionImpl(new LocalizableExceptionAdapter(e));
    return super.getPort(portName, serviceDefInterface);
    public java.rmi.Remote getPort(java.lang.Class serviceDefInterface) throws javax.xml.rpc.ServiceException {
    try {
    if (serviceDefInterface.equals(tagServiceSoap_PortClass)) {
    return getTagServiceSoap();
    } catch (Exception e) {
    throw new ServiceExceptionImpl(new LocalizableExceptionAdapter(e));
    return super.getPort(serviceDefInterface);
    public com.engagenet.protoObj.wizcon.TagServiceSoap getTagServiceSoap() {
    java.lang.String[] roles = new java.lang.String[] {};
    HandlerChainImpl handlerChain = new HandlerChainImpl(getHandlerRegistry().getHandlerChain(ns1_TagServiceSoap_QNAME));
    handlerChain.setRoles(roles);
    com.engagenet.protoObj.wizcon.TagServiceSoap_Stub stub = new com.engagenet.protoObj.wizcon.TagServiceSoap_Stub(handlerChain);
    try {
    stub._initialize(super.internalTypeRegistry);
    } catch (JAXRPCException e) {
    throw e;
    } catch (Exception e) {
    throw new JAXRPCException(e.getMessage(), e);
    return stub;
         public static void main(String []args)
    try
    TagService_Impl proto = new TagService_Impl();
    TagServiceSoap tSoap = proto.getTagServiceSoap();
    QUALITY Q_ERR = QUALITY.fromString("Q_ERR");
    String tagName[] = {"aem_opc", "aem_ws_test", "wizsys_minute"};
    TagValue[] tValue = tSoap.readTagValues(tagName);
    for(int i = 0; i < 3; ++i)
    if(tValue.getM_Quality().equals(Q_ERR))
    System.out.println("" + tagName[i] + " read failed " + tValue[i].getM_Quality());
    else
    System.out.println("" + tagName[i] + " read failed " + tValue[i].getM_dValue());
    catch(Exception e)
    e.printStackTrace();
    Am I doing any thing wrong. All java files I am using is generated as a result of this command.
    wscompile.bat -verbose -gen -d classes -s src -keep etc/config.xml
    I only add main method in TagService_Impl.java class which I highlighted above.
    Any help is apprecited.
    Thanks
    Shreey

    I stumbled upon this exception when I tried to send a complex type as a return parameter. The sequence in which the server sent the components of the complex type was different from the one the client artifacts expected. And because the deserializer generated by xrpcc can't survive this, it throws the exception that's bothering you.
    It may or may not be the same case with you, this is merely what I had to find out.

  • JAX-RPC deserialization error: unexpected XML reader state

    Guys,
    Trying to write a Jax-Rpc client that consumes a web service hosted on WebLogic 7.1 talking soap 1.1. I can bind to that service using Apache SOAP - so I don't think that service is returning invalid XML.
    Is there something in my client's classpath that's old or not compatible ?
    Getting the following exception
    java.rmi.RemoteException: Runtime exception; nested exception is:
    deserialization error: unexpected XML reader state. expected: END but found: START: stockSymb
    ol
    deserialization error: unexpected XML reader state. expected: END but found: START: stockSymbol
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:209)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerIm
    pl.java:115)
    at trader.TraderServicePort_buy_ResponseStruct_SOAPSerializer.doDeserialize(TraderServicePort
    buyResponseStruct_SOAPSerializer.java:37)
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:165)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerIm
    pl.java:115)
    at trader.TraderServicePort_Stub._deserialize_buy(TraderServicePort_Stub.java:180)
    at trader.TraderServicePort_Stub._readFirstBodyElement(TraderServicePort_Stub.java:153)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:168)
    at trader.TraderServicePort_Stub.buy(TraderServicePort_Stub.java:115)
    at portal.jsp._portal._test.__TestJaxrpc._jspService(__TestJaxrpc.java:83)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
    at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:945)
    at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:909)
    at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:2
    69)
    at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:392)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:274)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:130)
    CAUSE:
    unexpected XML reader state. expected: END but found: START: stockSymbol
    at com.sun.xml.rpc.streaming.XMLReaderUtil.verifyReaderState(XMLReaderUtil.java:49)
    at trader.TradeResult_SOAPSerializer.doDeserialize(TradeResult_SOAPSerializer.java:66)
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:165)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerIm
    pl.java:115)
    at trader.TraderServicePort_buy_ResponseStruct_SOAPSerializer.doDeserialize(TraderServicePort
    buyResponseStruct_SOAPSerializer.java:37)
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:165)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerIm
    pl.java:115)
    at trader.TraderServicePort_Stub._deserialize_buy(TraderServicePort_Stub.java:180)
    at trader.TraderServicePort_Stub._readFirstBodyElement(TraderServicePort_Stub.java:153)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:168)
    at trader.TraderServicePort_Stub.buy(TraderServicePort_Stub.java:115)
    at portal.jsp._portal._test.__TestJaxrpc._jspService(__TestJaxrpc.java:83)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
    at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:945)
    at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:909)
    at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:2
    69)
    at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:392)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:274)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:130)
    Thanks
    Atish

    Using WSDP 1.1 this can be fixed IF you're using a static stub to access the service by running wscompile with the -f:searchschema option when generating the client stubs. It will then search the schema aggressively for subtypes when generating the stubs and your client will function correctly. The downside is that this ties your client down to using implementation specific functionality that is not part of the standard, which IMHO is very bad but if you're happy to live with this then it will work.
    Therefore I want to use a dynamic proxy client. For this you don't need to use the wscompile tool to generate client stubs and therefore the above fix doesn't work. I have searched the API documentation for some method that would have the same effect but thus far to no avail. Does anybody have any ideas?
    On a side note I have to say I'm fairly unhappy that in the entire 900 page web services tutorial no mention is made of how to utilise inheritance for parameter and return types without running into problems, neither is any mention made of support for / lack of support for polymorphism which also seems to cause problems. Forgive my sarcasm and lack of grace but, "What, is it 1975 already?" In this day and age I DO expect to be able to use these things without having to specify obscure compiler options, or indeed worry about them in any way whatsoever.

  • Unexpected XML reader state. expected: END_ELEMENT but found: CHARACTERS

    I'm try to developed a ws client. the server is in Microsoft-IIS/6.0.
    the method that i'm try to invoke return void, this is the interface
    * Sends a diagnostic request to a device
    * @param deviceId
    * @param url
    @WebMethod(operationName = "SendDiagnosticRequestToDevice", action = "http://client.org/SendDiagnosticRequestToDevice")
    @RequestWrapper(localName = "SendDiagnosticRequestToDevice", targetNamespace = "http://teste.org/", className = "client.SendDiagnosticRequestToDevice")
    @ResponseWrapper(localName = "SendDiagnosticRequestToDeviceResponse", targetNamespace = "http://teste.org/", className = "client.SendDiagnosticRequestToDeviceResponse")
    public void sendDiagnosticRequestToDevice(
    @WebParam(name = "deviceId", targetNamespace = "http://tempuri.org/")
    String deviceId,
    @WebParam(name = "url", targetNamespace = "http://teste.org/")
    String url);
    my client only have this code
    DiagnosticsNotificationsWS service = new DiagnosticsNotificationsWS()
    DiagnosticsNotificationsWSSoap port = service.getDiagnosticsNotificationsWSSoap();
    port.sendDiagnosticRequestToDevice("8670eaab", "http://10.112.80.12/teste?wsdl");
    but have follow error:
    Exception in thread "main" javax.xml.ws.WebServiceException: unexpected XML reader state. expected: END_ELEMENT but found: CHARACTERS
    at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:263)
    at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:545)
    at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:288)
    at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:153)
    at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:85)
    at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:176)
    at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:105)
    at $Proxy24.sendDiagnosticRequestToDevice(Unknown Source)
    at Main.main(Main.java:45)
    Caused by: unexpected XML reader state. expected: END_ELEMENT but found: CHARACTERS
    at com.sun.xml.ws.streaming.XMLStreamReaderUtil.verifyReaderState(XMLStreamReaderUtil.java:193)
    at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.decodeFault(SOAPXMLDecoder.java:349)
    at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBodyContent(SOAPDecoder.java:340)
    at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBody(SOAPDecoder.java:325)
    at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.decodeBody(SOAPXMLDecoder.java:188)
    at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.decodeEnvelope(SOAPXMLDecoder.java:139)
    at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:256)
    ... 8 more

    may be bug of IIS. You received at the end of content "HTTP 100 Continue"
    see MSDN
    Edited by: Nesterko on Jun 17, 2010 11:38 AM

  • "deserialization error: unexpected XML reader state."

    I am able to consume a web service that was converted from an EJB under Weblogic 7.0 using multiple .NET clients. However, after downloading the JWSDP from Sun, I am unable to consume this same service using a standalone Java client built using classes generated by the wscompile tool. Some newsgroup messages say it is an element order issue. Others say I must deserialize objects. Others still say I need to use a static client. Which is the reliable flexible, non-workaround way to consume a web service hosted on WL7 by non-WL Java based clients? p.s. I can consume other web services (including those hosted on .NET servers) using the JWSDP, but none of them contain complex types/arrays.

    Hello,
    Could you rephrase and clarify your question? Interop issues are
    multi-faceted, so a suggested route would be look at the various results
    from SOAPBuilders, for example:
    http://www.whitemesa.com/r3/interop3.html and see the types of scenarios
    that fit your data model.
    It sounds like you are OK with WLS to .Net, but are having trouble with
    WLS to SUN? Is your service on WLS rpc/enc or doc/lit? Does the WLS
    generated client work correctly?
    Thanks,
    Bruce
    Rhoden, Aaron wrote:
    >
    I am able to consume a web service that was converted from an EJB under Weblogic 7.0 using multiple .NET clients. However, after downloading the JWSDP from Sun, I am unable to consume this same service using a standalone Java client built using classes generated by the wscompile tool. Some newsgroup messages say it is an element order issue. Others say I must deserialize objects. Others still say I need to use a static client. Which is the reliable flexible, non-workaround way to consume a web service hosted on WL7 by non-WL Java based clients? p.s. I can consume other web services (including those hosted on .NET servers) using the JWSDP, but none of them contain complex types/arrays.

  • Unexpected XML reader state

    Hi,
    I've written a simple web services and encountered the following error when I run it:
    java.rmi.RemoteException: received fault: "Internal Server Error (deserializatio
    n error: deserialization error: unexpected XML reader state. expected: END but f
    ound: START)" (code: "Server" namespace: "http://schemas.xmlsoap.org/soap/envelo
    pe/"); nested exception is:
    at com.sun.xml.rpc.client.StreamingSender._raiseFaul (StreamingSender.java:321)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:211)
    Any suggestion? Thanks
    William

    This happens when the elements of the object being
    serialized are not sent in the order specified. You
    should generate your server side artifacts using the
    service endpoint interface and then publish your
    endpoint. Then use wscompile and generate the client
    side artifacts using the published WSDL from the step
    above. The published WSDL document will specify the
    order that things are to be serialized. Do not
    generate client artifacts directly from the service
    endpoint interface unless you use the -gen:both option
    and you use thoses generated server side artifacts as
    well.I've checked that my version of jwsdp using is 1.0-ea2, is the above solution suitable to this version?
    William

  • Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items

    Hi ,
    Good Morning to all
    in osb replace action am using xquery transformation resource.
    source code of xquery is :
    ====================================================================================
    (:: pragma bea:global-element-parameter parameter="$addition1" element="ns0:Addition" location="../wsdl/NewWSDLFile.wsdl" ::)
    (:: pragma bea:global-element-return element="ns1:process" location="../bpelprocess1_client_ep.wsdl" ::)
    declare namespace ns1 = "http://xmlns.oracle.com/POProcessing/AdditionOSB/BPELProcess1";
    declare namespace ns0 = "http://www.example.org/NewWSDLFile/";
    declare namespace xf = "http://tempuri.org/ServiceCallout/trans/route/";
    declare function xf:route($addition1 as element(ns0:Addition))
    as element(ns1:process) {
    <ns1:process>
    <ns1:value1>{ data($addition1/value1) }</ns1:value1>
    <ns1:value2>{ data($addition1/value2) }</ns1:value2>
    </ns1:process>
    declare variable $addition1 as element(ns0:Addition) external;
    xf:route($addition1)
    =====================================================
    at the time of running "error is Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items " in replace action.
    how to resolve this problem...
    Thanks & Regards
    venky

    The reason for the error is the xquery is not able to find the values in the input... Check the input and namespaces...
    Try...
    <ns1:value1>{ data($addition1/ns0:value1) }</ns1:value1>
    <ns1:value2>{ data($addition1/ns0:value2) }</ns1:value2>Cheers,
    Vlad

  • Unknown error: ZipException: invalid entry size (expected 29630 but got 28789 bytes)

    Hi while choosing the workflow from the studio we are getting the following exception.Could
    any one of u assist us??
    Start server side stack trace:
    java.util.zip.ZipException: invalid entry size (expected 29630 but got 28789 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:350)...
    java.util.zip.ZipException: invalid entry size (expected 29630 but got 28789 bytes)
    Start server side stack trace:
    java.util.zip.ZipException: invalid entry size (expected 29630 but got 28789 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:350)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:139)
         at java.util.jar.JarInputStream.read(JarInputStream.java:157)
         at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:88)
         at com.bea.wlpi.server.admin.JarReader.readData(Unknown Source)
         at com.bea.wlpi.server.admin.ImportManager.getImportables(Unknown Source)
         at com.bea.wlpi.server.admin.ImportManager.getImportables(Unknown Source)
         at com.bea.wlpi.server.admin.AdminBean.readPackage(Unknown Source)
         at com.bea.wlpi.server.admin.AdminBean_11ksof_EOImpl.readPackage(AdminBean_11ksof_EOImpl.java:100)
         at com.bea.wlpi.server.admin.AdminBean_11ksof_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
         at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
         at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:215)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:191)
    End server side stack trace
         <<no stack trace available>>

    Sudarsan,
    The problem was in the FTP from a Windows to a unix box. Use binary option when
    uploading file
    Regards,
    Anandhi
    "Sudarsan" <[email protected]> wrote:
    >
    Hi while choosing the workflow from the studio we are getting the following
    exception.Could
    any one of u assist us??
    Start server side stack trace:
    java.util.zip.ZipException: invalid entry size (expected 29630 but got
    28789 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:350)...
    java.util.zip.ZipException: invalid entry size (expected 29630 but got
    28789 bytes)
    Start server side stack trace:
    java.util.zip.ZipException: invalid entry size (expected 29630 but got
    28789 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:350)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:139)
         at java.util.jar.JarInputStream.read(JarInputStream.java:157)
         at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:88)
         at com.bea.wlpi.server.admin.JarReader.readData(Unknown Source)
         at com.bea.wlpi.server.admin.ImportManager.getImportables(Unknown Source)
         at com.bea.wlpi.server.admin.ImportManager.getImportables(Unknown Source)
         at com.bea.wlpi.server.admin.AdminBean.readPackage(Unknown Source)
         at com.bea.wlpi.server.admin.AdminBean_11ksof_EOImpl.readPackage(AdminBean_11ksof_EOImpl.java:100)
         at com.bea.wlpi.server.admin.AdminBean_11ksof_EOImpl_WLSkel.invoke(Unknown
    Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
         at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
         at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:215)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:191)
    End server side stack trace
         <<no stack trace available>>

  • XML message as input for webservice gives deserialization error

    Hi,
    jDeveloper 10.1.3
    BPEL PM 10.1.2.0.2
    Carrental example
    Problem:
    For the Business Rule Engine I did the Carrental XML example. Based on the java application that connects to the BR engine, I created a webservice in jDeveloper and deployed it to my localhost AS 10.1.3. The webservice has a testRule method that accepts a String buf as input. For now, the only thing the webservice does is return a 'do nothing' string. This works fine:
    When deployed the testpage generates the following SOAP message:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://carrental/types/">
    <ns1:testRuleElement>
    <ns1:buf>my xml message</ns1:buf>
    </ns1:testRuleElement>
    </soap:Body>
    </soap:Envelope>
    The SOAP response is:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://carrental/types/"><env:Body><ns0:testRuleResponseElement><ns0:result>do nothing...</ns0:result></ns0:testRuleResponseElement></env:Body></env:Envelope>
    In BPEL Designer I create a new asynchronous process ValidateBR, with a partnerlink for the webservice, based on the following WSDL file:
    <definitions
    name="Rent"
    targetNamespace="http://carrental/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://carrental/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns0="http://carrental/types/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://carrental/types/"
    elementFormDefault="qualified" xmlns:tns="http://carrental/types/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="testRule">
    <sequence>
    <element name="buf" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="testRuleResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="version">
    <sequence/>
    </complexType>
    <complexType name="versionResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="testRuleElement" type="tns:testRule"/>
    <element name="testRuleResponseElement" type="tns:testRuleResponse"/>
    <element name="versionElement" type="tns:version"/>
    <element name="versionResponseElement" type="tns:versionResponse"/>
    </schema>
    </types>
    <message name="Rent_testRule">
    <part name="parameters" element="tns0:testRuleElement"/>
    </message>
    <message name="Rent_testRuleResponse">
    <part name="parameters" element="tns0:testRuleResponseElement"/>
    </message>
    <message name="Rent_version">
    <part name="parameters" element="tns0:versionElement"/>
    </message>
    <message name="Rent_versionResponse">
    <part name="parameters" element="tns0:versionResponseElement"/>
    </message>
    <portType name="Rent">
    <operation name="testRule">
    <input message="tns:Rent_testRule"/>
    <output message="tns:Rent_testRuleResponse"/>
    </operation>
    <operation name="version">
    <input message="tns:Rent_version"/>
    <output message="tns:Rent_versionResponse"/>
    </operation>
    </portType>
    <binding name="RentSoapHttp" type="tns:Rent">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="testRule">
    <soap:operation soapAction="http://carrental//testRule"/>
    <input>
    <soap:body use="literal" parts="parameters"/>
    </input>
    <output>
    <soap:body use="literal" parts="parameters"/>
    </output>
    </operation>
    <operation name="version">
    <soap:operation soapAction="http://carrental//version"/>
    <input>
    <soap:body use="literal" parts="parameters"/>
    </input>
    <output>
    <soap:body use="literal" parts="parameters"/>
    </output>
    </operation>
    </binding>
    <service name="Rent">
    <port name="RentSoapHttpPort" binding="tns:RentSoapHttp">
    <soap:address location="http://localhost:7780/Rules-rent-context-root/RentSoapHttpPort"/>
    </port>
    </service>
    </definitions>
    I defined the process variable inputVariable to be defined based on the carrental.xsd schema. I assign the inputVariable to the 'buf' parameter of the webservice as shown below in the ValidateBR.bpel
    <!--
    // Oracle JDeveloper BPEL Designer
    // Created: Mon Mar 27 16:02:22 CEST 2006
    // Author: haanrw
    // Purpose: Asynchronous BPEL Process
    -->
    <process name="ValidateBR" targetNamespace="http://xmlns.oracle.com/ValidateBR" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ns1="http://rules.oracle.com/carrental" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://carrental/types/" xmlns:ns2="http://carrental/" xmlns:client="http://xmlns.oracle.com/ValidateBR" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"><!-- ================================================================= --><!-- PARTNERLINKS --><!-- List of services participating in this BPEL process --><!-- ================================================================= -->
    <partnerLinks><!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:ValidateBR" myRole="ValidateBRProvider" partnerRole="ValidateBRRequester"/>
    <partnerLink name="CheckBR" partnerRole="Rent_Role" partnerLinkType="ns2:Rent_PL"/>
    </partnerLinks><!-- ================================================================= --><!-- VARIABLES --><!-- List of messages and XML documents used within this BPEL process --><!-- ================================================================= -->
    <variables><!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:ValidateBRRequestMessage"/><!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="outputVariable" messageType="client:ValidateBRResponseMessage"/>
    <variable name="InvokeValidateBR_testRule_InputVariable" messageType="ns2:Rent_testRule"/>
    <variable name="InvokeValidateBR_testRule_OutputVariable" messageType="ns2:Rent_testRuleResponse"/>
    </variables><!-- ================================================================= --><!-- ORCHESTRATION LOGIC --><!-- Set of activities coordinating the flow of messages across the --><!-- services integrated within this business process --><!-- ================================================================= -->
    <sequence name="main"><!-- Receive input from requestor.
    Note: This maps to operation defined in ValidateBR.wsdl
    -->
    <receive name="receiveInput" partnerLink="client" portType="client:ValidateBR" operation="initiate" variable="inputVariable" createInstance="yes"/><!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload" query="/ns1:repository"/>
    <to variable="InvokeValidateBR_testRule_InputVariable" part="parameters" query="/ns3:testRuleElement/ns3:buf"/>
    </copy>
    </assign>
    <invoke name="InvokeValidateBR" partnerLink="CheckBR" portType="ns2:Rent" operation="testRule" inputVariable="InvokeValidateBR_testRule_InputVariable" outputVariable="InvokeValidateBR_testRule_OutputVariable"/>
    <invoke name="callbackClient" partnerLink="client" portType="client:ValidateBRCallback" operation="onResult" inputVariable="outputVariable"/>
    </sequence>
    </process>
    When I deploy the process and initiate a testinstance from the BPEL console, the assign looks as follows:
    <InvokeValidateBR_testRule_InputVariable>
    <part name="parameters" >
    <testRuleElement>
    <buf>
    <driver>
    <driver-license-number>15-PS-FZ</driver-license-number>
    <name>Rob de Haan</name>
    <age>39</age>
    <vehicle-type>Saab</vehicle-type>
    <license-type>B</license-type>
    <pre-convictions>0</pre-convictions>
    <pre-accidents>0</pre-accidents>
    <able-to-drive>true</able-to-drive>
    </driver>
    </buf>
    </testRuleElement>
    </part>
    </InvokeValidateBR_testRule_InputVariable>
    The InvokeValidateBR shows the following error:
    <remoteFault>
    <part name="code" >
    <code>Client</code>
    </part>
    <part name="summary" >
    <summary>when invoking endpointAddress 'http://localhost:7780/Rules-rent-context-root/RentSoapHttpPort', caught exception while handling request: deserialization error: unexpected XML reader state. expected: END but found: START: {http://rules.oracle.com/carrental}driver</summary>
    </part>
    <part name="detail" >
    <detail>AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: caught exception while handling request: deserialization error: unexpected XML reader state. expected: END but found: START: {http://rules.oracle.com/carrental}driver faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:caught exception while handling request: deserialization error: unexpected XML reader state. expected: END but found: START: {http://rules.oracle.com/carrental}driver at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226) at org.collaxa.thirdparty.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645) at org.collaxa.thirdparty.apache.axis.Message.getSOAPEnvelope(Message.java:424) at org.collaxa.thirdparty.apache.axis.client.Call.invokeEngine(Call.java:2754) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:2715) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:1737) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeAXISMessaging(WSIFOperation_ApacheAxis.java:2113) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1611) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1083) at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452) at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317) at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217) at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335) at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796) at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125) at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70) at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86) at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123) at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755) at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534) {http://xml.apache.org/axis/}hostname:NL-GRH-L120981 </detail>
    </part>
    </remoteFault>
    FYI: the webservice only contains a return "do nothing"
    Question:
    What is the proper way to assign an XML message to the web service?
    Any help would be appreciated.
    Rob
    Message was edited by:
    [email protected]

    Hi,
    Reading only is not possible..
    I will be still more clear in my question this time..
    I have deployed my bpel. My receiveInputVariable is of type xsd:string.
    So when i run the bpel in my console, i will be asked to give input as string data.
    So when i go to the XMLView, it will be like this.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body xmlns:ns1="http://xmlns.oracle.com/Sabari_POC_Appln/DOM_Parser/ConvertToBLOB">
              <ns1:process>
                   <ns1:input></ns1:input>
    </ns1:process>
    </soap:Body>
    </soap:Envelope>
    Now, i am going to give my input like this. --- which leads to error.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body xmlns:ns1="http://xmlns.oracle.com/Sabari_POC_Appln/DOM_Parser/ConvertToBLOB">
              <ns1:process>
                   <ns1:input>
    *<?xml version="1.0" encoding="UTF-8"?>*
    *<projects>*
    *<project id = "BP001">*
    *<name>Banking Project</name>*
    *<start-date>Jan 10 1999</start-date>*
    *<end-date>Jan 10 2003</end-date>*
    *</project>*
    *<project id = "TP001">*
    *<name>Telecommunication Project</name>*
    *<start-date>March 20 1999</start-date>*
    *<end-date>July 30 2004</end-date>*
    *</project>*
    *<project id = "PP001">*
    *<name>Portal Project</name>*
    *<start-date>Dec 10 1998</start-date>*
    *<end-date>March 10 2006</end-date>*
    *</project>*
    *</projects>*
    </ns1:input>
    </ns1:process>
    </soap:Body>
    </soap:Envelope>
    This xml is not accepted as string input.. so kindly suggest me some other solution.
    I also tried.. like.. making my receiveInputVariable of type xsd:anyType, it also dint help. same error occurred.
    Thanks,
    Sabarisri. N
    Edited by: Sabarisri N on Jul 20, 2011 1:03 PM

  • Deserialization error of exception information

    Hello,
    In my client when an exception from the server is caught I get the following exception info:
    Runtime exception; nested exception is:
         deserialization error: unexpected XML reader state. expected: END but found: START: messageSearching for this in the forums yields a lot of responses that are datet between 2002-2003... And the resolution often is to include -f:searchschema parameter if you use wscompile. Including this parameter does not remove the exception.
    The exception class looks like this:
    public class BullenAPIException extends Exception
         private ExceptionInformation ExceptionInfo;
        public BullenAPIException(ExceptionInformation info)
            super(info.getShortDescription());
            this.ExceptionInfo= info;
        public String getMessage() {
             return super.getMessage();
         public ExceptionInformation getExceptionInfo() {
              return ExceptionInfo;
         public void setExceptionInfo(ExceptionInformation exceptionInfo) {
              ExceptionInfo = exceptionInfo;
    }And the ExceptionInformation object is just a POJO class.
    What could be the cause of the deserialization error?
    Best regards,
    Georg

    Just check ..
    whether you have closed connection or statement inside while(resultset.next()) loop.
    close the resultset, connection and statement outside while loop.
    ..Aman

  • Got a Deserialization Error

    Hi, I get the following Deserialization error when I used a Custom defined class as a parameter in the Client class. I followed the rules stated in the JAX-RPC tutorial:
    To be supported by JAX-RPC, an application class must conform to the following rules:
    It must have a public default constructor.
    It must not implement (either directly or indirectly) the java.rmi.Remote interface.
    Its fields must be supported JAX-RPC types.
    The class may contain public, private, or protected fields. For its value to be passed (or returned) during a remote call, a field must meet these requirements:
    A public field cannot be final or transient.
    A non-public field must have corresponding getter and setter methods.
    And when I looked in the generated class files I saw that custom object's SOAPBuilder and SOAPSerializer classes were generated.
    Also, the WSDL file thats generated included the custom object's information (member names) in the complexType section.
    ===================================================================
    java.rmi.ServerException: Internal Server Error (deserialization error: unexpected XML reader state. expected: END but found: START: arta)
    at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:357)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
    at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
    at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocationHandler.java:96)
    at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocationHandler.java:68)
    at $Proxy0.requestFid(Unknown Source)
    at fidserv.FidServClient.main(Unknown Source)
    ========================================================================
    Any help would be much appreciated...
    Thanks,
    Manjula

    I am invoking my own webservice designed very similar to the DII Client Example in the JWSDP Tutorial. Basically the problem I have now is that I can't pass around any arrays or user-defined objects as Parameters from the client. I have put in lines to the config.xml to include the Integer array type and userdefined class. Is there any documentation on how to do this? I am trying to use an int[] as a parameter...
    I keep getting a java.lang.Class cast exception:
    serialization error: java.lang.ClassCastException
    at com.sun.xml.rpc.encoding.PolymorphicArraySerializer.serialize(PolymorphicArraySerializer.java:106)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.serialize(ReferenceableSerializerImpl.java:59)
    at com.sun.xml.rpc.encoding.soap.SOAPRequestSerializer.doSerializeInstance(SOAPRequestSerializer.java:84)
    at com.sun.xml.rpc.encoding.ObjectSerializerBase.serialize(ObjectSerializerBase.java:100)
    at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:441)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:63)
    at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
    at fidserv.FidServClient.main(Unknown Source)
    Below is my Client Code:
    public class FidServClient {
         private static String endpoint = "http://localhost:8080/fidserv-jaxrpc/fidserv";
         private static String qnameService = "FidService";
         private static String qnamePort = "FidServPort";
         private static String BODY_NAMESPACE_VALUE = "http://com.test/wsdl/FidService";
         private static String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
         private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";
         private static String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
         public static void main(String[] args) {
              try
                   ServiceFactory factory = ServiceFactory.newInstance();
                   Service service = factory.createService(new QName(qnameService));
                   QName port = new QName(qnamePort);
                   Call call = service.createCall(port);
                   call.setTargetEndpointAddress(endpoint);
                   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");
                   QName QNAME_TYPE_LONG = new QName(NS_XSD, "long");
                   QName QNAME_TYPE_INT = new QName(NS_XSD, "int");
                   //QName QNAME_TYPE_INT_ARRAY = new QName(NS_XSD, "Array");
                   //Temp parameters
                   String acid = "UAL500";
                   String orig = "IAD";
                   String dest = "LAX";
                   Long sgtd = new Long(1010);
                   Long artd = new Long(1020);
                   Long arta = new Long(1520);
                   Long data_time = new Long(2010);
                   Long fid = new Long(5555);
                   int[] known_fids = new int[2];
                   known_fids[0] = 0;
                   known_fids[1] = 1;
                   //ResultTypes
                   Long resultRequest = new Long(0);
                   String resultUpdate = new String("");
                   //for (int i = 0; i < 20; i++){
                        //***** Call to requestFid *******************************************************
                        call.removeAllParameters();
                        call.setReturnType(null);
                        call.setReturnType(QNAME_TYPE_LONG);
                        call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "requestFid"));
                        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("long_4", QNAME_TYPE_LONG, ParameterMode.IN);
                        call.addParameter("long_5", QNAME_TYPE_LONG, ParameterMode.IN);
                        call.addParameter("long_6", QNAME_TYPE_LONG, ParameterMode.IN);
                        call.addParameter("long_7", QNAME_TYPE_LONG, ParameterMode.IN);
                        call.addParameter("arrayOfint_8", XMLType.SOAP_ARRAY, ParameterMode.IN);                    
                        resultRequest = (Long)call.invoke(new Object[]{acid, orig, dest, sgtd, artd, arta, data_time,
    known_fids });     
                        System.out.println("RequestFid: " + resultRequest);          
    Thanks for the help

  • Web Service: XMLUnmarshalException: XML Deserialization Error

    Hi,
    I am trying to use a complex web structure in web service.
    I am simply trying to display some data from that web service in my view.
    I am getting the foll error:
    <b>
    Service call exception; nested exception is:
         com.sap.engine.services.webservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. XML is not valid. Element [http://www.siebel.com/xml/Account Interface]<Account> is required in <SiebelMessage> but can not be found.[Ljava.lang.StackTraceElement;@2fe4e7
    </b>
    I have gone thru most of the posts but they all have XMLMarshalException and not XMLUnmarshalException.
    Any inputs please?
    Regards,
    Dev

    Hi Bala,
    I tried your suggestion but that did not work!
    I am not trying to test that web service via WSNavigator.
    Problem is my service does not come there once i deploy it.
    I am a newbie to WebServices so please correct me where am I wrong in these steps:
    1. I create a Deployable Proxy Project
    2. Then, i create a new Client Proxy Definition
    3. I enter pkg name, Proxy name, choose Local System. Then i give the WSDL location and finally press Finish.
    (It has created several files including ClientAPI.jar)
    4. Lastly, i chose Build EAR and deployed it.
    But i cannot see my web service in that list!
    Can you please help me in checking the request-response cycle for this web service.
    Regards,
    Dev

  • XML Deserialization Error

    Hi,
    I'm workin on a prototyp based on the netweaver developer studio preview. after i've steped to the several tutorial for webservices und webdynpro.
    I've implemented a ejb/webservice combination for selecting a insurance contract from our databases based on existing java-classes to use the webservice as a model in the webdynpro-app. So fare everything worked fine.
    Know I've made a little change and filled the contract with aditional information about the customer to this contract (i didn't modified the class if just filled e member of the contract which was null bevor). After deploying the webservice i got the following error message:
    Service call exception; nested exception is: com.sap.engine.services.werservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. XML is not valid. Element [urn:de.deutscherring.base]<nummer> is required in <ns16:personVn> but can not be found.
    When i test the webservice i get the same error.
    I've searched a the classes which a direct or indirect owned by the Person-Object and found only on member named nummer but it's an int, which can't cause trouble with deserialization.
    Are anyone their wo can help me?
    Thanks in advance.
    Oliver

    Hi Oliver,
    Check what is the request and the response. Where does the deserialization fail - on the client or on the server side?
    <i>You can increase the severity of your web service location via the Visual Admin and Log Configurator Service to debug in order to log also the request and response messages (Location: com.sap.engine.services.webservices.runtime...)</i>
    If the response is fine, then maybe your WS Client Proxy needs to be regenerated in order to reflect your change.
    Otherwise, please create a CSN message.
    Best regards,
    Alexander

Maybe you are looking for

  • How to get  app in reader 8.0

    I made a mfc project.I try to open a pdf file in my mfc project. First I add the typelib of acrobat pro 7.0 to struct my pdf app and avdoc,etc. Like this :CCAcroApp *m_pAcroApp; when use pro 7.0,this works well. But i need to open pdf with Reader 8.0

  • MB_MIGO_BADI change header data in tcode MIGO

    HI Experts, I have a requirement to change the feild posting date(BUDAT) in the header data while doing migo. For this i have implemented a badi MB_MIGO_BADI->IF_EX_MB_MIGO_BADI~PAI_HEADER. This method has the field is_gohead-budat. but when i'm chan

  • Drag & drop albums not working in iphoto

    I am using iphoto 11 version 9.4.2  I used to be able to drag & drop my albums into a preferred order.  Now when I try to move a particular album within the album section by dragging & dropping, a new folder is created containing the album I was tryi

  • Two cinema screen setup?

    I am trying to set up two cinema screens, but they are Hewlett Packard L2335 cinema screens and not MacIntosh. On the back of the GeForce FX 5200 graphics card I have an ADC connector and a DVI connector. The ADC connector has an ADC to DVI connector

  • Creating multiple Excel worksheet

    Gurus, I am downloading data into Excel from my web page by using the following: Response.setContentType("application/vnd.ms-excel"); HtmlWriter out = aResponse.getWriter(); out.print( I am able to view all the data in one Excel worksheet. Does anyon