Non-uniform XML reading behaviour
Hi all,
I am currently facing this extremely weird problem. I have this program which will allow the user to key in the URL of an XML file and the program would then retrieve the XML file using the following codes;
import org.xml.sax.*;
import java.net.URL;
import org.w3c.dom.*;
import org.w3c.dom.Element;
import javax.xml.parsers.*;
URL testSrc = new URL(urlString);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder parser = factory.newDocumentBuilder();
Document document = parser.parse(testSrc.openStream());
The weird thing is that this thing works perfectly fine(allows me to retrieve the XML file from a remote source) in my own home computer (Windows ME with a internet connection) but it doesn't work at all in my laboratory. It returns an error saying "Connection refused : connect". Is that something that I am missing out?
Regards,
nerdynoob
HI Dr Clap
I am also facing some sort of similar problem.
My problem is that i have a XML Parser wherein i ma parsing a URL link ex
"http://www.abcetc.com/cgi-bin/fndaily/abcfn.cgi".
This i am using SAX API for the same
On this i am getting a list of articles say 20 in number .
When i try to open the same url link in browser window
i get the latest articles i.e uptodate .
But in my xml parsing application i am not able to get the same articles i.e I am missing the latest articles which have been posted onto the internet.
Any help apprecaited highly
I am confused.
Thanks
RAj
Similar Messages
-
OWSM 10.1.3.4 and Non-SOAP XML-based web service
Hi all,
According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
For example, if the SOAP virtualized endpoint is:
http://host:port/gateway/services/SID0003001
then, the non-SOAP XML service endpoint is:
http://host:port/gateway/xml/SID0003001
I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
Thanks!
--GaryHi all,
According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
For example, if the SOAP virtualized endpoint is:
http://host:port/gateway/services/SID0003001
then, the non-SOAP XML service endpoint is:
http://host:port/gateway/xml/SID0003001
I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
Thanks!
--Gary -
Sending non-SOAP XML message without using JMS
Hi, I would like to build application to exchange non-SOAP XML message without using JSM. Could you please tell me which Java Technology that can help doing this? Thanks in advance
to be more specific, could you please tell me any open source jaxm-like that support non-SOAP XML?
-
Using XMLAgg with non-wellformed XML fragments
Hi,
with XMLAgg one can create a non-wellformed XML-Fragement ( i.e. with multiple root elements ) like
<foo>bar1</foo>
<foo>bar2</foo>
where each foo element comes from a table row ( e.g. from a single-column table with the rows 'bar1' and 'bar2' ).
However, I wasn't able to get a similar result when creating multiple elements per row. I defined a function that returns a non-wellformed fragment like
<foo>bar1</foo>
<oof>bar1</oof>
per row, but I couldn't aggregate these fragments using XMLAgg. The result should look like ( 2 elements per row )
<foo>bar1</foo>
<oof>bar1</oof>
<foo>bar2</foo>
<oof>bar2</oof>
Instead, i got an "LPX-00245: extra data after end of document" error ( whole error see below ).
I wonder why it is possible to create non-wellformed fragments with XMLAgg, but why there seems to be impossible to aggregate them.
Regards,
Pat
The whole error message ( sorry, the DBMS is configured for german language ):
ORA-29400: Data Cartridge-Fehler
ORA-31011: XML-Parsing nicht erfolgreich
ORA-19202: Fehler bei XML-Verarbeitung
LPX-00245: extra data after end of document
Error at line 1
aufgetreten
ORA-06512: in "TEST.DOC", Zeile 31
29400. 00000 - "data cartridge error\n%s"
*Cause: An error has occurred in a data cartridge external procedure.
This message will be followed by a second message giving
more details about the data cartridge error.
*Action: See the data cartridge documentation
for an explanation of the second error message.Even in 9i I can aggregate without root element:
SQL> set timing off
SQL> select * from v$version where rownum = 1
BANNER
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
1 row selected.
SQL> with t as (
select 1 id, xmltype( '<foo>bar1</foo>') xml from dual union all
select 1, xmltype( '<foo>bar1</foo>') from dual union all
select 2, xmltype( '<foo>bar1</foo>') from dual union all
select 2, xmltype( '<foo>bar1</foo>') from dual
select xmlagg(xml) xml from (
select id, xmlagg(xml) xml from t group by id)
XML
<foo>bar1</foo>
<foo>bar1</foo>
<foo>bar1</foo>
<foo>bar1</foo>
1 row selected. -
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.
-
Deserialization error: XML reader error: unexpected character content:
Hi,
I'm just learning to write web services. I pasted the service and it seems to work.
It's code is :
package server;
import javax.jws.WebService;
public class HelloImpl {
* @param name
* @return Say hello to the person.
public String sayHello(String name) {
return "Hello, " + name + "!";
}I wired the service using spring, following the tutorial :
public class HellowsImpl {
String name;
public HellowsImpl() {
private Hellows service;
public void setService(Hellows service) {
this.service = service;
public void sayHi() {
try {
service.sayHello(name);
} catch (RemoteException e) {
// TODO
public Hellows getService() {
return service;
public void setName(String name) {
this.name = name;
}But when I try this : HellowsImpl service ;
service=(HellowsImpl)ac.getBean("hellowsclient");
service.sayHi();I get the exception : Caught exception while handling request: deserialization error: XML reader error: unexpected character content: "fd"
Where might be the problem?Hi, I am also facing this error while trying to create "Dynamic Proxy Client"
I am accessing the WS method like this
String UrlString = "http://localhost:1559/DynamicProxy/DProxy?WSDL";
String nameSpace = "urn:DProxy/wsdl";
String serviceName = "DProxy";
String port = "DProxySEIPort";
URL serviceUrl = new URL(UrlString);
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(serviceUrl,new QName(nameSpace,serviceName));
dproxy.DProxySEI myProxy = (dproxy.DProxySEI)service.getPort(new QName(nameSpace,port),dproxy.DProxySEI.class);
String message = myProxy.sayHello("rajeev");
WSDL File content :
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:DProxy/wsdl" xmlns:ns2="urn:DProxy/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="DProxy" targetNamespace="urn:DProxy/wsdl">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:DProxy/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:DProxy/types">
<complexType name="sayHello">
<sequence>
<element name="String_1" type="string" nillable="true"/></sequence></complexType>
<complexType name="sayHelloResponse">
<sequence>
<element name="result" type="string" nillable="true"/></sequence></complexType>
<element name="sayHello" type="tns:sayHello"/>
<element name="sayHelloResponse" type="tns:sayHelloResponse"/></schema></types>
<message name="DProxySEI_sayHello">
<part name="parameters" element="ns2:sayHello"/></message>
<message name="DProxySEI_sayHelloResponse">
<part name="result" element="ns2:sayHelloResponse"/></message>
<portType name="DProxySEI">
<operation name="sayHello">
<input message="tns:DProxySEI_sayHello"/>
<output message="tns:DProxySEI_sayHelloResponse"/></operation></portType>
<binding name="DProxySEIBinding" type="tns:DProxySEI">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="sayHello">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/></input>
<output>
<soap:body use="literal"/></output></operation></binding>
<service name="DProxy">
<port name="DProxySEIPort" binding="tns:DProxySEIBinding">
<soap:address location="http://localhost:1559/DynamicProxy/DProxy" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/></port></service></definitions>
and Here is my SEI Implementation class
public java.lang.String sayHello(String name) throws java.rmi.RemoteException {
String message = "hi.."+name+"..How r u";
return message;
Can any one help me plz...
Thanks in advance.. -
Destructive and non-destructive buffer reads on branch wires
I was asked this morning what are "Destructive and non-destructive buffer reads on branched wires" are.
I was at a loss at first and the I thought some and read a posting by Jim that inspried me.
My first thought was the case of an array wired to a replace array element and an index array function. I that case the the index has to execute before the replace array element because the replace re-uses its input buffer. Not really detructive but seemed close.
There is also the case of a buffer (like a string) being wired into a CIN and the same buffer being re-used be the CIN to return the result. The CIN "destroys" the original values.
Jim mentioned the concatenate string having to destroy the buffer
s hold the strings that are concantenated and moved to another buffer.
Also when I do a AI read the buffer I read from is destroyed after I read it. Similarly with reading from VISA and the like.
What does the above phrase really mean and are there other examples that I have missed?
Trying to learn something here,
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under constructionThat phrase may have been describing a combination of factors. Documentation from NI points out that if a wire branches, LabVIEW will try to avoid making a copy of the data, including scheduling (as in your example) read operations on branch A before write operations on branch B if possible. Since branch A doesn't tamper with the data, no copy is necessary.
The author of a CIN or DLL could indeed choose to create his function in such a manner that it uses the same physical buffer in memory for input and output. This is by no means the only way to return values from a function, but it's quite common for efficiency reasons. LabVIEW might even assume that a CIN or DLL always overwrites any buffer passed into it (and may therefore make a copy if a wire branche
s both to a CIN and somewhere else).
So to me, the phrase you cited connotes the G compiler's decision of whether or not a wire branch modifies the data (e.g., string concatenation, removing elements from arrays) or just reads it (e.g., an index or input to a calculation). -
XML read errors--failure to open dtd (DITA)
Hi all,
I've run out of ideas and places to look on this one, I hope someone can help.
The specs: WinXP Pro, Frame 8.0p277. Built-in DITA. Not using DITA Open Toolkit. No major issues except for previously discussed conref problems which, many thanks to Scott, seem to be under control.
The context: I'm a freelancer, on contract to a financial institution. I work part-time in my own office (up-to-date, preferred set-up) and part-time onsite. I can't go into detail, but the set-up is less than ideal. I have to do much back-and-forth portaging of project and template files, and they are often corrupted when I reopen them.
Specs onsite I'm not sure about, but it's definitely Frame 8 with the first patch. I'm pretty sure they haven't installed any others, so the 8.03 patch shouldn't be an issue. (I'll check and report back, if that info is needed.)
The error: Came out of the blue last week, my first day back in my office after three days onsite. Now, every time I open or create any xml file, using any template, I get an XML Read Report Log error that reports a failure to open the DTD, and a parse error in the document prolog. I don't know where it's coming from, and I don't know why it started happening. I modified structapps once, many months ago, but hadn't touched it since, and I've never touched the r/w rules files in either location.
(I realize I should test this scenario onsite, but I daren't risk importing trouble, if it started here.)
Specifically, the error reads: Could not open DTD file: C:\Documents and Settings\path-to-project-files-folder\ditabase.dtd Parse error at line 9, char 1: Error procssing external entity reference.
I don't understand why it's looking for the dtd file in the same folder as the project files when I've never stored it there, and I have the following in the structapps, and r/w rules files.
DTD: $STRUCTDIR\xml\dita\default-app\dtd\ditabase.dtd
Read/write rules: $STRUCTDIR\xml\dita\default-app\DITA-Topic-FM\topic.rules.txt
The R/W Rules statement reads: writer external dtd is public "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd";
I can go completely cross-eyed after a few hours trying to parse these docs myself. The answer may well be right in front of me, but for the life of me I can't see it. I hope someone else can.
KarenHello Karen,
Have you been able to resolve this issue? I'm encountering a similar issue while going through the FrameMaker 8 Help topics: Processing XML > Migration from Unstructured FrameMaker to XML > Getting started with structure.
I have followed along with all the examples all the way down to the "Testing XML round-tripping" topic. When I go to the step: Export the FrameMaker file to XML, and select my XML application, I get a parsing error similar to what you had mentioned above.
The Help topics have you first build an EDD for a simple document (proposal) - successful.
They then have you open a new document and import the EDD - successful.
They then have you add formatting to the EDD and then reimport into your document to test it. - successful
They then have you build the structured app by saving the EDD to DTD. You are then supposed to create a template by removing all the content from your original file that they had you open and save it as a template. Then you are supposed to edit the application definition file. Finally you copy the template and the DTD to the Adobe FrameMaker 8 folder. - successful
I've done this process twice and each time I get the same Save to XML Log error message when trying to export my document to XML.
The first things that are displayed are the path the source and destination folders.
Next is the XML parser error messages (Document Prolog).
There are basically 2 parsing errors, line 3 and 9.
line 3, "Could not open DTD file" C:\DOCUME~1\MICHAE~1\LOCALS~1\Temp\$STRUCTDIR\XML\Preface\Preface.dtd
Error in processing external entity reference"
line 9, "Could not open DTD file" C:/Documents%20and%20Settings/michael_randall/My%20Documents/FrameEDDTemplatePractice/$ST RUCTDIR/XML/Preface/Preface.dtd
Error in processing external entity reference"
Please let me know if have any new information.
Thanks,
Michael Randall -
Connection to server broken: non-chunked HTTP read lost connection
A java applet popped this up on my screen, no idea where to look on my machine - it's only the second time its happened in many weeks but I would like to be able to interact with the cause.
Java was installed from Sun's download in June 2006 on Windows Adv. Server. MS auto update and defender currently active.some program is trying to get some update from its server and so it is trying to connect to its server but either you don't have internet connection or it can have low speed, because of this reason some program show this error "Connection to server broken: non-chunked HTTP read lost connection". so you have to stop the scheduling of that program.
-
Is there any package as an XML Reader?
I have a simple XML file on the web like:
<XML>
<A>true</A>
<B>ABCDEF</B>
</XML>
I would like to ask is there any simple XML Reader class for me to retrieve the value of the filed of the XML file easily?
e.g., someclass.getValue("A") will give me true
and someclass.getValue("B") will give meABCDEF
Thank you very much for your help.not that simple, but there are DOM parsers ( could download jaxp on java's site ).
-
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. 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.
-
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.
-
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 -
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.
Maybe you are looking for
-
Login row in my header, when not logged in
I wish to use the feature that some site use where the login box is show in the header or some other place on the page while they are not logged in and when they do login the box is not show anymore. i wish to have this as an extra table row in my he
-
my toshiba p305d-8995e is not giving me sound when i plug in my headphoens the speakers work fine but when i plug in headphones it doesnt switch over. the headphones work fine because i use them with my music player. why is this not working? Thanks
-
Comp. hard drive crash-How to start using new comp. w/o losing ipod data
I had a hard drive crash on my old laptop. Unfortunately, I didn't have any backup of any of my iPod data. I had purchased 2 videos and 3 songs. Not a huge loss there, but I also had imported about 150 CDs that I don't care to burn again. Ideally, I'
-
Do you need to open ical or reminders to get them to sync/update?
I have a iPad and a iPhone and when I create a new reminder or ical event on either device it does not automatically sync to the other without me launching that app on the other device. For example I create a new reminder on my iPad for 8am tomorrow
-
I took my battery out to reset my phone. Now it won't turn on from a white screen that says App error 532 and a reset button. Every time I reset it goes back to the error code screen. HELP!!!!!!!