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.
Similar Messages
-
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.
-
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
ShreeyI 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. -
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 moremay 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 -
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
AtishUsing 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. -
"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. -
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
WilliamThis 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 -
Workaround for "Expected expression but found end of line" error
I have the following code
tell application "Mail"
set mymailList to {"[email protected]", "[email protected]", "[email protected]"}
set myattachmentList to {"Macintosh HD:Users:SAM:Desktop:A1.xls", "Macintosh HD:Users:SAM:Desktop:A2.xls", "Macintosh HD:Users:SAM:Desktop:A3.xls"}
set n to count items in mymailList
set i to 0
repeat n times
set i to i + 1
set var1 to item i of mymailList
set var2 to item i of myattachmentList as alias
set newmessage to make new outgoing message with properties {visible:true, subject:"Report", content:"Blah Blah Blah"}
tell newmessage
set sender to "Sam <[email protected]>"
set visible to true
make new to recipient at end of to recipients with properties {address:var1}
tell content to make new attachment with properties {file name:var2} at after last paragraph
end tell
activate
send newmessage
end repeat
end tell
I would like to be able to paste the MailList and MailAttatchmentList values from a spreadsheet so that it would look something like this:
tell application "Mail"
set mymailList to {
"[email protected]",
"[email protected]",
"[email protected]"
set myattachmentList to {
"Macintosh HD:Users:SAM:Desktop:A1.xls",
"Macintosh HD:Users:SAM:Desktop:A2.xls",
"Macintosh HD:Users:SAM:Desktop:A3.xls"
set n to count items in mymailList
set i to 0
repeat n times
set i to i + 1
set var1 to item i of mymailList
set var2 to item i of myattachmentList as alias
set newmessage to make new outgoing message with properties {visible:true, subject:"Report", content:"Blah Blah Blah"}
tell newmessage
set sender to "Sam <[email protected]>"
set visible to true
make new to recipient at end of to recipients with properties {address:var1}
tell content to make new attachment with properties {file name:var2} at after last paragraph
end tell
activate
send newmessage
end repeat
end tell
Is there something that I can put at the end of each value so that I avoid the "Expected expression but found end of line" error?
Thanks!
SamYou didn't need to post the entire script - just an example of the list format would have done
Anyway, AppleScript uses option-return as a 'soft' return/line continuation character, so:
set mymailList to {¬
"[email protected]",¬
"[email protected]",¬
"[email protected]"¬
(where ¬ indicates an option-return) will work. I'm just not sure off hand how you'd automatically insert option-return characters coming out of Excel... -
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
venkyThe 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 -
Expected declaration but found '*'. Skipped to next declaration. @
Application is working fine in other browser except Firefox. While loading application it triggers following error on console.
Expected declaration but found '*'. Skipped to next declaration. @
Error in parsing value for 'filter'. Declaration dropped. @
Unknown property '-moz-opacity'. Declaration dropped. @
Expected end of value but found '\30 '. Error in parsing value for 'height'. Declaration dropped. @
Expected color but found '#cccccc0'. Expected end of value but found '#cccccc0'. Error in parsing value for 'border-bottom'.
Error in parsing value for 'cursor'. Declaration dropped. @* ''filter'' — you're probably using the Internet Explorer notation, which won't work in other browsers. As for Firefox, it doesn't support anything besides url() until Firefox 34.0 (the current release is Firefox 32.0).
** https://developer.mozilla.org/en-US/docs/Web/CSS/filter
* ''-moz-opacity'' should be '''opacity'''. I can't imagine why you're using the prefixed property. Support for it was dropped all the way back in Firefox 3.5, and the unprefixed one has been supported since Firefox 0.9.
** https://developer.mozilla.org/en-US/docs/Web/CSS/opacity
* ''#cccccc0'' should be '''#ccccc0''' or maybe '''#cccccc''' — I can't know which color you intended.
** https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
As for the remainder of the errors, there's no way to tell what they're about. Run your stylesheets through the validator to find out:
* http://jigsaw.w3.org/css-validator/
If you want someone to help you with your page, you'll have to post a link to it. -
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>> -
source of:https://support. mozilla.com/en-UWarning: Unknown property 'border-top-right-radius'. Declaration dropped.
Source File: http://support.mozilla.com/media/css/questions-min.css?build=2244b7a
Line: 1Warning: Unknown property 'border-top-right-radius'. Declaration dropped.
Source File: http://support.mozilla.com/media/css/questions-min.css?build=2244b7a
Line: 1Warning: Unknown property 'border-top-right-radius'. Declaration dropped.
Source File: http://support.mozilla.com/media/css/questions-min.css?build=2244b7a
Line: 1You can ignore (CSS) errors in the Tools > Error Console.<br />
Those errors are only useful if you develop websites and want to check the HTML/CSS and JavaScript code for errors.<br />
Most errors are code for other browsers like IE or browsers on other platforms or just typos or the result of bad coding.<br /> -
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,
GeorgJust check ..
whether you have closed connection or statement inside while(resultset.next()) loop.
close the resultset, connection and statement outside while loop.
..Aman
Maybe you are looking for
-
HP Pavillion dv9812us VistaService pack 2 32bit. DVD no longer works. It isn't listed in device manager to enable driver reload or update. E:/ letter also is no longer there when using windows explorer.
-
HELP! Most of my music is gone since updating to newest itunes.
I save all of my music onto an external harddrive. Since updating to the newest itunes, most of my songs have disappeared off of my harddrive. I normally have my preferences set for new music to be added to the harddrive and not the computer. I click
-
Hi all, I have a subscreen with ALV grid in module pool program. The main screen has two subscreens (one is header and other is items/reports) from the main screen, the ALV Grid subscreen can be called in two ways. 1. from application tool bar (show
-
HT5287 Can I use a flash drive with mac osx 1 0.8
When I insert a flash drive into the computer the icon does not show up on desk top.
-
Adjust size of menu bar in single page
I am creating a new website for work and just added a menu bar on the main page. After a lot of trial and error, I pretty much have it looking the way I want. However, on the subsequent pages, I want to add menu bars with an extra button called 'home