Hi,

I am very new to Axis, SOAP etc. I am constructing a client to consume a webservice  (Amazon webservice). The server on which the client is to run, provides me with access to Axis 1.0, and I have no control over making them use higher versions of Axis.

 

Using the WSDL available at: http://webservices.amazon.com/AWSECommerceService/US/AWSECommerceService.wsdl

And the WSDL2Java from Axis 1.0 I generated the stub classes.

 

 

 

I am getting following error when the client code tries to consume the service:

 

 

 

org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

            at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:188)

            at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:893)

            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200)

            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684)

            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:241)

            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)

            at org.apache.axis.client.Call.invoke(Call.java:1871)

            at org.apache.axis.client.Call.invoke(Call.java:1777)

            at org.apache.axis.client.Call.invoke(Call.java:1315)

            at com.amazon.xml.AWSECommerceService.AWSECommerceServiceBindingStub.itemLookup(AWSECommerceServiceBindingStub.java:1322)

            at net.concordusa.bridge.amazon.WebCTAmazon.getItem(WebCTAmazon.java:119)

            at net.concordusa.bridge.amazon.WebCTAmazon.getDisplay(WebCTAmazon.java:65)

            at net.concordusa.bridge.amazon.WebCTAmazon.getHTML(WebCTAmazon.java:55)

            at com.masterfileapi.bridge.webct.vista.powerlink.amazon.authentication.WebCTAmazonAuthentication.commit(WebCTAmazonAuthentication.java:41)

            at com.webct.platform.coreservice.security.authentication.module.ProxyAuthenticationModule.commit(ProxyAuthenticationModule.java:182)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:324)

            at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)

            at javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)

            at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)

            at java.security.AccessController.doPrivileged(Native Method)

            at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)

            at javax.security.auth.login.LoginContext.login(LoginContext.java:535)

            at com.webct.platform.coreservice.security.authentication.common.VistaAgent.authenticate(VistaAgent.java:118)

            at com.webct.platform.coreservice.security.authentication.common.VistaAuthenticationManager.getAgent(VistaAuthenticationManager.java:226)

            at com.webct.platform.coreservice.security.authentication.common.AuthenticationHandler.handleRequest(AuthenticationHandler.java:155)

            at com.webct.platform.tools.proxytool.actions.PTLaunchAction.perform(PTLaunchAction.java:203)

            at org.apache.struts.action.Action.execute(Action.java:420)

            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

            at com.webct.platform.coreservice.action.RequestProcessor.process(RequestProcessor.java:194)

            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

            at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

            at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)

            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)

            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)

            at com.webct.platform.coreservice.action.CacheControlFilter.doFilter(CacheControlFilter.java:68)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)

            at com.webct.platform.coreservice.action.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:96)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6363)

            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)

            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)

            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)

            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)

            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)

            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

 

 

 

My client side code from WebCTAmazon.java:

 

 

 

private ItemType3[] getItem(String isbn) throws Exception {

    

             AWSECommerceService service = new AWSECommerceServiceLocator();

             AWSECommerceServicePortType port = service.getAWSECommerceServicePort();

 

             ItemLookupRequest request = new ItemLookupRequest();

             request.setResponseGroup(RESPONSE_GROUPS);

             request.setItemId(new String[]{isbn});

             request.setIdType(idType);

 

             ItemLookup itemLookup = new ItemLookup();

             itemLookup.setSubscriptionId(subscriptionId);

             itemLookup.setAssociateTag(associateId);

            try {  itemLookup.setRequest(new ItemLookupRequest[]{request}); } catch(Exception e){}

            ItemLookupResponse     response = null;

             response = port.itemLookup(itemLookup);           

             ItemType3 items [] = response.getItems()[0].getItem();

             Errors errors = response.getItems()[0].getRequest().getErrors();

             if (errors != null)

             throw new Exception(errors.getError()[0].getMessage());

             return items;

     }

 

 

The error causing line, i.e., line 119 is

response = port.itemLookup(itemLookup);

 

 

 

 

Please Help!!!

 

Thanks in advance,

Swapna

 

 

 

Reply via email to