Dynamic proxy on jwsdp 1.1 deserialization error

Hi,
I want to use a dynamic proxy to get information from an webservice.
normal datatypes like String or integer works fine. But when I want to have an object back, I get an deserialization error. I use sdk 1.3.1_08 and the jwsdp 1.1
Does the jwsdp 1.1 support to transfer objects with dynamic proxy?
thx
Matthias

I must use the jwsdp 1.1 because our clients run on IBM-Webspehre the highest sdk wich is at the moment supported is sdk 1.3.1_08.
But with the jwsdp and sdk 1.4.2 I became also an exception.
her it is:
UrlString = http://localhost:8080/uisservice/endpoint?WSDL
deserialization error: java.lang.NullPointerException
     at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:212)
     at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:115)
     at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElement(CallInvokerImpl.java:188)
     at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:168)
     at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:56)
     at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:281)
     at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocationHandler.java:98)
     at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocationHandler.java:70)
     at $Proxy0.getTestUser(Unknown Source)
     at test.TestClient.main(TestClient.java:37)
CAUSE:
java.lang.NullPointerException
     at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeserialize(SOAPResponseSerializer.java:106)
     at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:165)
     at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:115)
     at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElement(CallInvokerImpl.java:188)
     at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:168)
     at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:56)
     at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:281)
     at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocationHandler.java:98)
     at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocationHandler.java:70)
     at $Proxy0.getTestUser(Unknown Source)
     at test.TestClient.main(TestClient.java:37)
CAUSE:
java.lang.NullPointerException
     at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeserialize(SOAPResponseSerializer.java:106)
     at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:165)
     at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:115)
     at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElement(CallInvokerImpl.java:188)
     at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:168)
     at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:56)
     at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:281)
     at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocationHandler.java:98)
     at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocationHandler.java:70)
     at $Proxy0.getTestUser(Unknown Source)
     at test.TestClient.main(TestClient.java:37)
and here my client class:
public class TestClient {
     public static void main(String[] args) {
          try {
               String UrlString ="http://localhost:8080/uisservice/endpoint?WSDL";
               String nameSpaceUri = "http://localhost:8080/uisservice/wsdl/UisService";
               String serviceName = "UisService";
               String portName = "UisServicePort";
               System.out.println("UrlString = " + UrlString);
               URL helloWsdlUrl = new URL(UrlString);
               ServiceFactory serviceFactory = ServiceFactory.newInstance();
               Service uisService = serviceFactory.createService(helloWsdlUrl,
                    new QName(nameSpaceUri, serviceName));
               //END E anderer code
               UisService
                    myProxy = (UisService)uisService.getPort(new QName(nameSpaceUri, portName), UisService.class);
          System.out.println(myProxy.getTestUser().getFirstname());
          } catch (Exception ex) {
               ex.printStackTrace();

Similar Messages

  • Dynamic proxy client error

    hello,
    im running a dynamic proxy client for a simple web service. I have the web service up and running but when i run the client i get the following error:
    run-client:
    [java] java.lang.NoClassDefFoundError: dynamicproxy/BookClient
    [java] Exception in thread "main"
    [java] Java Result: 1
    run:
    BUILD SUCCESSFUL
    Total time: 2 seconds
    My client code is as follows:
    package dynamicproxy;
    import java.net.URL;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ServiceFactory;
    import dynamicproxy.BookIF;
    public class BookClient{
    public static void main(String[] args){
    try{
    String UrlString = args[0] + "?WSDL";
    String nameSpaceUri = "urn:Foo";
    String serviceName = "MyBookService";
    String portName = "BookIFPort";
    System.out.println("UrlString = " + UrlString);
    URL bookWsdlUrl = new URL(UrlString);
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
                   Service bookService = serviceFactory.createService(bookWsdlUrl,
                   new QName(nameSpaceUri, serviceName));
    dynamicproxy.BookIF
    myProxy = (dynamicproxy.BookIF)
    bookService.getPort(new QName(nameSpaceUri, portName),
    dynamicproxy.BookIF.class);
                   System.out.println("The sum of the 2 numbers is:");
    System.out.println(myProxy.add(1, 2));
    catch (Exception ex)
    ex.printStackTrace();
    Any ideas??

    thnx kwalsh1 i got it working. It was the targets.xml file in jaxrpc/common, i edited the package-dynamic to include all class files!

  • 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..

  • JAX-RPC deserialization error: unexpected XML reader state

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

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

  • Deserialization Error while invoking web service from JDeveloper 10g

    When we tried to invoke a web service from JDeveloper version 10.1.3.4.0.4270, we got deserialization error.Here are the steps that we did to invoke the web service.
    1. Using WSDL URL, downloaded WSDL file and associated XSD files into local machine using wsa.jar utility.
    2. Using JDeveloper, created web service proxy project by referring the local WSDL file.Proxy got generated successfully.
    3. Secured the proxy using "secure proxy" option.
    4. Assigned all required values for parameters for web method.
    5. When tried to invoke the web service, got deserialization error.
    Exception in thread "main" deserialization error: java.lang.NumberFormatException
    at oracle.j2ee.ws.common.encoding.literal.LiteralSimpleTypeSerializer.deserialize(LiteralSimpleTypeSerializer.java:155)
    at com.oracle.xmlns.apps.ego.extfwk.service.out.runtime.ValuesetType_LiteralSerializer.doDeserialize(ValuesetType_LiteralSerializer.java:151)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:250)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:159)
    at com.oracle.xmlns.apps.ego.extfwk.service.out.runtime.ListOfVSType_LiteralSerializer.doDeserialize(ListOfVSType_LiteralSerializer.java:67)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:250)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:159)
    at com.oracle.xmlns.valuesetservice.runtime.GetVSRespType_LiteralSerializer.doDeserialize(GetVSRespType_LiteralSerializer.java:57)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:250)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:159)
    at pimut.proxy.runtime.ValuesetServiceSoapHttp_Stub._deserialize_getValueSetDetails(ValuesetServiceSoapHttp_Stub.java:129)
    at pimut.proxy.runtime.ValuesetServiceSoapHttp_Stub._readFirstBodyElement(ValuesetServiceSoapHttp_Stub.java:115)
    at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:334)
    at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:113)
    at pimut.proxy.runtime.ValuesetServiceSoapHttp_Stub.getValueSetDetails(ValuesetServiceSoapHttp_Stub.java:79)
    at pimut.proxy.ValuesetServiceSoapHttpPortClient.getValueSetDetails(ValuesetServiceSoapHttpPortClient.java:40)
    at pimut.ValuesetServiceClient.get_object(ValuesetServiceClient.java:87)
    at pimut.ValuesetServiceClient.main(ValuesetServiceClient.java:34)
    CAUSE:
    java.lang.NumberFormatException
    at oracle.j2ee.ws.common.encoding.literal.LiteralSimpleTypeSerializer.deserialize(LiteralSimpleTypeSerializer.java:155)
    at com.oracle.xmlns.apps.ego.extfwk.service.out.runtime.ValuesetType_LiteralSerializer.doDeserialize(ValuesetType_LiteralSerializer.java:151)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:250)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:159)
    at com.oracle.xmlns.apps.ego.extfwk.service.out.runtime.ListOfVSType_LiteralSerializer.doDeserialize(ListOfVSType_LiteralSerializer.java:67)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:250)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:159)
    at com.oracle.xmlns.valuesetservice.runtime.GetVSRespType_LiteralSerializer.doDeserialize(GetVSRespType_LiteralSerializer.java:57)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:250)
    at oracle.j2ee.ws.common.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:159)
    at pimut.proxy.runtime.ValuesetServiceSoapHttp_Stub._deserialize_getValueSetDetails(ValuesetServiceSoapHttp_Stub.java:129)
    at pimut.proxy.runtime.ValuesetServiceSoapHttp_Stub._readFirstBodyElement(ValuesetServiceSoapHttp_Stub.java:115)
    at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:334)
    at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:113)
    at pimut.proxy.runtime.ValuesetServiceSoapHttp_Stub.getValueSetDetails(ValuesetServiceSoapHttp_Stub.java:79)
    at pimut.proxy.ValuesetServiceSoapHttpPortClient.getValueSetDetails(ValuesetServiceSoapHttpPortClient.java:40)
    at pimut.ValuesetServiceClient.get_object(ValuesetServiceClient.java:87)
    at pimut.ValuesetServiceClient.main(ValuesetServiceClient.java:34)
    Caused by: java.lang.NumberFormatException
    at java.math.BigDecimal.<init>(BigDecimal.java:457)
    at java.math.BigDecimal.<init>(BigDecimal.java:647)
    at oracle.j2ee.ws.common.encoding.simpletype.XSDDecimalEncoder.stringToObject(XSDDecimalEncoder.java:51)
    at oracle.j2ee.ws.common.encoding.literal.LiteralSimpleTypeSerializer.deserialize(LiteralSimpleTypeSerializer.java:142)
    ... 17 more
    Process exited with exit code 1.
    We think that the exact cause for the problem is as follows.
    1. If we check the XSD file corresponds to response object, for one of the element, the type is decimal
    <xsd:element minOccurs="0" name="ParentValueSetId" nillable="true" type="xsd:decimal"/>
    2. In the SOAP response, this element is empty so during deserialization, the numer format exception occurred in LiteralSimpleTypeSerializer class.
    Any help is greatly appreciated.

    Hi Suresh & Mukesh,
    Suresh:
    I started the service by going through the following path System Administrator > System Configuration > Service Configuration > Application > <SERVICE_NAME> in system configuration of portal
    Mukesh: Here I don't have any proxy settings.
    Can you please let me know where I'm going wrong.
    Thanx,
    Dheeram

  • Web Service: XMLUnmarshalException: XML Deserialization Error

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

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

  • Deserialization error [Causes and Cure]

    Hi all,
    What is meant by "desearilizing error" ? Please provide information or links on this.
    And what should be done inorder to overcome it.
    I have a client proxy in SAP and i am trying to consume a WEB SERVICE from .NET.
    The services has 1 input parameter which is String datatype.
    But when i test it i am getting Deserializing Error as
    'CX_SY_CONVERSION_NO_DATE_TIME:XSLT exception'.
    Please help. I am on the end of my wits :).
    Thanks & Regards.
    Yats.

    Question: what is DESERIALIZATION ERROR
    Answer: When you get the replay from .NET server, it is an XML document that needs to be converted into ABAP objects. The ABAP proxy tries to parse that XML and populate the ABAP objects -- this is called DESERIALIZATION.
    The way ABAP proxy parses the XML response from a remote server depends on what is the XML "structure" it was programmed to expect. That "structure" is described in XSD part of WSDL. If you manually trim WSDL, the inner XSD (schema) definition may be compromised, and although you successfully create the proxies, yet those proxies would be expecting a slightly different structure of XML streams. Hence when the XML stream comes in, and the proxy tried to de-serialize (parse) to create ABAP object, it fails. This is called DESERIALIZATION ERROR.
    You mentioned that you could successfully get a single record, while when multiple records came from server, it failed.
    This happens because XSD schema is telling the proxy generator to somehow expect a single record, instead of creating a collection (Array) of records -- again a schema mismatch.
    Solution: You need to analyze the incoming stream of XML through a tool e.g. Altoa XML Spy. That way you would figure out if the incoming stream is according to the trimmed WSDL you used to create you ABAP proxies.

  • Dynamic proxy not working

    Folks,
    I deployed a EJB Webservice(Document Literal) in Sun App Server. I am able to access the method through Static Stub but Dynamic proxy says the below error:
    port: {http://com.venkat.webservice/AllInOne/targ}AllInOneIntfPort does not contain operation: justConcat
         at com.sun.xml.rpc.client.dii.ConfiguredCall.configureCall(ConfiguredCall.java:98)
         at com.sun.xml.rpc.client.dii.ConfiguredCall.configureCall(ConfiguredCall.java:69)
         at com.sun.xml.rpc.client.dii.ConfiguredCall.setMethodName(ConfiguredCall.java:50)
         at com.sun.xml.rpc.client.dii.DynamicProxyBuilder.buildDynamicProxyFor(DynamicProxyBuilder.java:66)
         at com.sun.xml.rpc.client.dii.ConfiguredService.getPort(ConfiguredService.java:250)
         at wsclient.DynProxy.main(DynProxy.java:50)
    The Code i used to access is as below:
    String UrlString = "http://venkat:8080/AllInOneServiceBean" + "?WSDL";
                String nameSpaceUri = "http://com.venkat.webservice/AllInOne/targ";
                String serviceName = "AllInOneService";
                String portName = "AllInOneIntfPort";
      Service helloService =
                    serviceFactory.createService(helloWsdlUrl,
                        new QName(nameSpaceUri, serviceName));
    AllInOneIntf myProxy = (AllInOneIntf) helloService.getPort(new QName(
                        nameSpaceUri,
                        portName), AllInOneIntf.class);          
                System.out.println(myProxy.justConcat("aasds","as"));The WSDL File is:
    <?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://com.venkat.webservice/AllInOne/targ" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://com.venkat.webservice/AllInOne/type" name="AllInOneService" targetNamespace="http://com.venkat.webservice/AllInOne/targ">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://com.venkat.webservice/AllInOne/type" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://com.venkat.webservice/AllInOne/type">
    <complexType name="justConcat">
    <sequence>
    <element name="String_1" type="string" nillable="true"/>
    <element name="String_2" type="string" nillable="true"/></sequence></complexType>
    <complexType name="justConcatResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/></sequence></complexType>
    <complexType name="takeCustomObject">
    <sequence>
    <element name="ValueObject_1" type="tns:ValueObject" nillable="true"/></sequence></complexType>
    <complexType name="ValueObject">
    <sequence>
    <element name="comp" type="string" nillable="true"/>
    <element name="name" type="string" nillable="true"/></sequence></complexType>
    <complexType name="takeCustomObjectResponse">
    <sequence>
    <element name="result" type="string" nillable="true"/></sequence></complexType>
    <element name="justConcat" type="tns:justConcat"/>
    <element name="justConcatResponse" type="tns:justConcatResponse"/>
    <element name="takeCustomObject" type="tns:takeCustomObject"/>
    <element name="takeCustomObjectResponse" type="tns:takeCustomObjectResponse"/></schema></types>
    <message name="AllInOneIntf_justConcat">
    <part name="parameters" element="ns2:justConcat"/></message>
    <message name="AllInOneIntf_justConcatResponse">
    <part name="result" element="ns2:justConcatResponse"/></message>
    <message name="AllInOneIntf_takeCustomObject">
    <part name="parameters" element="ns2:takeCustomObject"/></message>
    <message name="AllInOneIntf_takeCustomObjectResponse">
    <part name="result" element="ns2:takeCustomObjectResponse"/></message>
    <portType name="AllInOneIntf">
    <operation name="justConcat">
    <input message="tns:AllInOneIntf_justConcat"/>
    <output message="tns:AllInOneIntf_justConcatResponse"/></operation>
    <operation name="takeCustomObject">
    <input message="tns:AllInOneIntf_takeCustomObject"/>
    <output message="tns:AllInOneIntf_takeCustomObjectResponse"/></operation></portType>
    <binding name="AllInOneIntfBinding" type="tns:AllInOneIntf">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="justConcat">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/></input>
    <output>
    <soap:body use="literal"/></output></operation>
    <operation name="takeCustomObject">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/></input>
    <output>
    <soap:body use="literal"/></output></operation></binding>
    <service name="AllInOneService">
    <port name="AllInOneIntfPort" binding="tns:AllInOneIntfBinding">
    <soap:address location="http://venkat:8080/AllInOneServiceBean" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/></port></service></definitions>
    Please let me what mistake i am doing if any? or is this a bug
    Thanks
    Venkat

    If you are using document/literal, which this WSDL is, you would be much better off using Metro (JAX-WS) as it has a much better dynamic interface in the Dispatch APIs. Metro: http://metro.dev.java.net, JAX-WS: http://jax-ws.dev.java.net.

  • JAX-RPC + Bean = deserialization error: java.lang.NullPointerException

    I�m trying to use a bean as return type from a web service method, but I get an error:
    deserialization error: java.lang.NullPointerException
    this is the class consuming the web service
    package local.jws;
    import local.jws.remote.TestBeanIF;
    import local.jws.remote.TestBean;
    import java.io.*;
    import java.net.URL;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.namespace.QName;
    public class Client implements java.io.Serializable
         private TestBean tb;
         private String somestring;
         public Client()
              try
                   String wsURL = "http://localhost:8080/webservice/testbean?WSDL";
                   String nameSpaceURI = "http://local.jws/wsdl/MyTestBean";
                   String portName = "TestBeanIFPort";
                   String serviceName = "MyTestBean";
                   URL serviceURL = new URL( wsURL );
                   ServiceFactory serviceFactory = ServiceFactory.newInstance();
                   QName qServiceName = new QName( nameSpaceURI, serviceName );
                   Service ws = serviceFactory.createService( serviceURL, qServiceName );
                   QName qPortName = new QName( nameSpaceURI, portName );
                   TestBeanIF myTestBeanIF = (TestBeanIF)ws.getPort( qPortName, local.jws.remote.TestBeanIF.class );
                   somestring = myTestBeanIF.getString();
                   tb = myTestBeanIF.getTestBean( "hello bean" );
              catch( Exception ex )
         public TestBean getTb()
              return this.tb;
         public void setTb( TestBean tb )
              this.tb = tb;
         public String getSomestring()
              return this.somestring;
         public void setSomestring( String value )
              this.somestring = value;
    this is the bean:
    package local.jws.beans;
    public class TestBean implements java.io.Serializable
         private String test;
         public TestBean(){ }
         public String getTest()
              return test;
         public void setTest( String value )
              this.test = value;
    this is the interface implementation:
    package local.jws;
    import local.jws.beans.TestBean;
    public class TestBeanImpl implements TestBeanIF
         public TestBean getTestBean( String value )
              TestBean tb = new TestBean();
              tb.setTest( value );
              return tb;
         public String getString()
              return "some string";
    using the getString() method works fine but getTestBean() doesn�t;
    any clue on this?
    thanks

    Hi,
    I'm experiencing exactly the same problem as you ...
    The only fix I found is to use static invocation ... with static invocation, WSCompile generates a deserializer and everything works fine, no mure NullPointer exception ...
    With dynamic invocation as you are trying to manage here, I didn't find any way to tell the client to use the deserializer generated with wscompile ...
    Does anyone know how to do it ?
    Thanks,
    Olivier

  • Jax-ws: dynamic proxy-suppress weblogic's default ws-policy handling

    hi all,
    i am writing my own jax-ws client (dynamic proxy) to call a web service, secured by usernametoken profile.
    the wsdl of the web service do include the ws-policy information.
    sample client side code:
    URL url = new URL("path_to_wsdl_file");
    QName serviceQname = new QName("http://model/", "CalculationService");
    Service service = Service.create(url, serviceQname);
    //add resolver and jax-ws handler to add username token SOAPElement fragment to the SOAP message.
    the above code runs fine in J2SE 6.0 environment (without any weblogic-specific library).
    but when i run the above code in a servlet (running in weblogic), the above code fails with the following error:
    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unable to add security token for identity, token uri =http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
    at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:196)
    at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
    at $Proxy23.add(Unknown Source)
    at client.ServiceLocator.main(ServiceLocator.java:32)
    it seems that the weblogic server will try to handle the ws-policy element (according to those in the wsdl), even though
    i have already added the username-token security header by my own code.
    As i don't add some weblogic-specific code (e.g. weblogic.wsee.security.unt.ClientUNTCredentialProvider), the web service call fails.
    is it possible to disable/suppress such behavior (weblogic runtime handle the ws-policy element) per web service call???
    (i don't want a server scope solution, as there may be other web service client running on the same weblogic server that rely on such behavior).
    i don't want to use weblogic's API (e.g. ClientUNTCredentialProvider) as i want my web service client be portable (username token is easy to be handled by my own code)
    thank you.

    Hi René ,
    i just use plain HTTP, not HTTPS.
    seems don't involve any certificate, am i right?
    in J2SE environment, i can run the webservice client without problem.
    but once i run the client in weblogic, the problem mentioned occurred.
    if i manually delete the ws-policy related tag in the wsdl file (i download it to local filesystem for testing), the client can run in weblogic too.
    so, think there is some setting in weblogic that try to handle the ws-policy by its so-called 'credential provider'(e.g. ClientUNTCredentialProvider ?)
    thank you.

  • Getting deserialization error when calling a secured webservice

    Hi All,
    I am getting deserialization error: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement when I am calling my secured web service through a proxy client.
    I have secured my webservice using a keystore, I had created using keytool . In key store I have created keys using RSA algorithm.
    when I am doing all this for a webservice in which input is a string variable, then it is working.
    But if I am passing a document then it is giving me ERROR OWS-04045 Malformed Request Message: deserialization error: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement .
    Below is the code of java class, I have exposed as webservice :
    import java.io.StringWriter;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    public class READXML {
    public String getXML(Document xmlDocument) {
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = null;
    try {
    transformer = tFactory.newTransformer();
    } catch (TransformerConfigurationException e) {
    e.printStackTrace();
    StringWriter writer = new StringWriter();
    try {
    transformer.transform(new DOMSource(xmlDocument),
    new StreamResult(writer));
    } catch (TransformerException e) {
    e.printStackTrace();
    return writer.toString();
    Appreciate if any body can help me to resolve the issue.
    thanks in advance

    Mike,
    I have tried by validating xml, again it is giving same error.
    when I am not securing my webservice then it is working fine.
    The problem is coming only when i am securing my webservice.

  • XML Deserialization Error

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

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

  • Web Service:  XML Deserialization Error

    Hallo experts
    I call one service on the SAP Applikation server (7.1 Enhancement) and get the following error:
    com.sap.engine.services.webservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. Empty node passed to deserializer com.sap.engine.services.webservices.jaxrpc.encoding.primitive.DateTimeSD which is not acceptable.&#13;
    If I use the SOAP to call the service I got the answer as following:
    has no value. Is this the reason that causes this problem?  If it is, how can I get the result in this case withoutrthis error. Because we get always Items from the backend that some fields were not filled.
    Thanks a lot and
    Nice regards!
    Ping

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

  • XmlUnmarshalException: XML Deserialization Error

    Hi, I have generated a Deployable WebService Proxy of a external WebService from the Provider ESRI (http://arcweb.esri.com/arcwebonline/index.htm) with SAP Dev Studio SP9 and deployed to the WAS 6.40 SP9.
    Within a Servlet i called first the WebService Authentication to get a Token which works fine and then the WebService AddressFinder.findAddress() to get the Datas but this Call throw a Exception
    ==> "Service call exception; nested exception is:
    com.sap.engine.services.webservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. XML is not valid. Element []<errorCode> is required in <soap:Body> but can not be found."
    The required element <errorCode> descriped in the WDSL Definition is nillable="true" so not required!
    - <xsd:complexType name="LocationInfo">
    - <xsd:sequence>
      <xsd:element name="matchType" nillable="true" type="xsd:string" />
      <xsd:element name="candidates" nillable="true" type="ns12:ArrayOfLocation" />
      <xsd:element name="hasMore" type="xsd:boolean" />
      <b><xsd:element name="errorCode" nillable="true"</b> type="xsd:string" />
      </xsd:sequence>
      </xsd:complexType>
    I checked also the SOAP response on the J2EE which was ok:
    Message : HTTP/1.1 200 OK
    Server: Sun-ONE-Application-Server/7.0
    Date: Wed, 12 Jan 2005 10:11:31 GMT
    Content-length: 1534
    Content-type: text/xml; charset=UTF-8
    Optimizable: true
    Connection: close
    <?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/' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' soap:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:ns5='http://www.themindelectric.com/package/com.esri.is.services.common.v2/' xmlns:ns6='http://www.themindelectric.com/package/com.esri.is.services.common.v2.geom/'><soap:Body><n:findAddressResponse xmlns:n='http://arcweb.esri.com/v2'><Result href='#id0'></Result></n:findAddressResponse><id0 id='id0' soapenc:root='0' xsi:type='ns5:LocationInfo'><matchType xsi:type='xsd:string'>EXACT</matchType><candidates href='#id1'></candidates><hasMore xsi:type='xsd:boolean'>false</hasMore></id0><id1 id='id1' soapenc:root='0' xsi:type='soapenc:Array' soapenc:arrayType='ns5:Location[1]'><i href='#id2'></i></id1><id2 id='id2' soapenc:root='0' xsi:type='ns5:Location'><point href='#id3'></point><description1 xsi:type='xsd:string'>Ammann Strasse 2, 3074, Muri Bei Bern</description1><score xsi:type='xsd:double'>0.0</score><matchType xsi:type='xsd:string'>100</matchType></id2><id3 id='id3' soapenc:root='0' xsi:type='ns6:Point'><x xsi:type='xsd:double'>7.496564</x><y xsi:type='xsd:double'>46.926945</y><coordinateSystem href='#id4'></coordinateSystem></id3><id4 id='id4' soapenc:root='0' xsi:type='ns6:CoordinateSystem'><projection xsi:type='xsd:string'>4326</projection></id4></soap:Body></soap:Envelope>
    Is there anything wrong, has anybody a solution?
    Thanks Vince

    Hi Vilish,
    I have a Web Dynpro application that uses a Web Service model. The Web Service is located on a remote non-SAP server, and i generated proxies based on its WSDL.
    The error occurs at this procedure,
    someElementObj.modelObject.execute();
    This procedure is to send a request with parameters to a Web method, and then retrieving data from the response XML before storing the data in the model context. So, I suspect this happens during retrieving process.
    Thanks,
    Teecheu

  • Deserialization error

    Hello all,
    I have a deserialization problem with a dynamic web service client.The return type that the service returns is a vector object.I am able to see from the soap (using tcpmon) that the service returns the values that i want to be returned by it.The problem is in the client's side that can't deserialize the vector object that the service sends
    This is how i call the service:
    ServiceFactory factory = ServiceFactory.newInstance(); //ServiceFactory object
              Service service = factory.createService(new QName(ServiceName));//service object
              QName port = new QName(PortTypeName);
              Call call = service.createCall(port);
              call.setTargetEndpointAddress(Endpointaddress);
              call.setProperty(Call.SOAPACTION_USE_PROPERTY,new Boolean(true));
              call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
              call.setProperty(Encoding_style_property, Uri_encoding);
              //Specifies the method's return type, name, and input parameters
              QName QNAME_TYPE = new QName(Ns_xsd,OutputType);// return type (THE TYPE IS VECTOR)
              call.setReturnType(QNAME_TYPE);The exception i take is this:
    [java] deserialization error: java.lang.NullPointerException
    [java] at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(Obj
    ectSerializerBase.java:214)
    [java] at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserial
    ize(ReferenceableSerializerImpl.java:134)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElem
    ent(CallInvokerImpl.java:222)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
    java:158)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvok
    erImpl.java:61)
    [java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:35
    3)
    [java] at nclient.nClient.invoke(Unknown Source)
    [java] at nclient.nClient.main(Unknown Source)
    [java] CAUSE:
    [java] java.lang.NullPointerException
    [java] at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeseri
    alize(SOAPResponseSerializer.java:149)
    [java] at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(Obj
    ectSerializerBase.java:167)
    [java] at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserial
    ize(ReferenceableSerializerImpl.java:134)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElem
    ent(CallInvokerImpl.java:222)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
    java:158)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvok
    erImpl.java:61)
    [java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:35
    3)
    [java] at nclient.nClient.invoke(Unknown Source)
    [java] at nclient.nClient.main(Unknown Source)
    [java] CAUSE:
    [java] java.lang.NullPointerException
    [java] at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeseri
    alize(SOAPResponseSerializer.java:149)
    [java] at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(Obj
    ectSerializerBase.java:167)
    [java] at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserial
    ize(ReferenceableSerializerImpl.java:134)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElem
    ent(CallInvokerImpl.java:222)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
    java:158)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvok
    erImpl.java:61)
    [java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:35
    Does anyone know how can i solve this problem?Any example code would be very helpful.
    Thanks a lot.

    Hello all,
    I have a deserialization problem with a dynamic web service client.The return type that the service returns is a vector object.I am able to see from the soap (using tcpmon) that the service returns the values that i want to be returned by it.The problem is in the client's side that can't deserialize the vector object that the service sends
    This is how i call the service:
    ServiceFactory factory = ServiceFactory.newInstance(); //ServiceFactory object
              Service service = factory.createService(new QName(ServiceName));//service object
              QName port = new QName(PortTypeName);
              Call call = service.createCall(port);
              call.setTargetEndpointAddress(Endpointaddress);
              call.setProperty(Call.SOAPACTION_USE_PROPERTY,new Boolean(true));
              call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
              call.setProperty(Encoding_style_property, Uri_encoding);
              //Specifies the method's return type, name, and input parameters
              QName QNAME_TYPE = new QName(Ns_xsd,OutputType);// return type (THE TYPE IS VECTOR)
              call.setReturnType(QNAME_TYPE);The exception i take is this:
    [java] deserialization error: java.lang.NullPointerException
    [java] at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(Obj
    ectSerializerBase.java:214)
    [java] at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserial
    ize(ReferenceableSerializerImpl.java:134)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElem
    ent(CallInvokerImpl.java:222)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
    java:158)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvok
    erImpl.java:61)
    [java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:35
    3)
    [java] at nclient.nClient.invoke(Unknown Source)
    [java] at nclient.nClient.main(Unknown Source)
    [java] CAUSE:
    [java] java.lang.NullPointerException
    [java] at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeseri
    alize(SOAPResponseSerializer.java:149)
    [java] at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(Obj
    ectSerializerBase.java:167)
    [java] at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserial
    ize(ReferenceableSerializerImpl.java:134)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElem
    ent(CallInvokerImpl.java:222)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
    java:158)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvok
    erImpl.java:61)
    [java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:35
    3)
    [java] at nclient.nClient.invoke(Unknown Source)
    [java] at nclient.nClient.main(Unknown Source)
    [java] CAUSE:
    [java] java.lang.NullPointerException
    [java] at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.doDeseri
    alize(SOAPResponseSerializer.java:149)
    [java] at com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(Obj
    ectSerializerBase.java:167)
    [java] at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserial
    ize(ReferenceableSerializerImpl.java:134)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl._readFirstBodyElem
    ent(CallInvokerImpl.java:222)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.
    java:158)
    [java] at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvok
    erImpl.java:61)
    [java] at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:35
    Does anyone know how can i solve this problem?Any example code would be very helpful.
    Thanks a lot.

Maybe you are looking for