If you're forced to use Axis 1.0, then I think you will have to use the message API and construct the messages manually. Axis 1.0 doesn't support this type of complex document/literal service.
Anne On 5/4/05, Swapna Gupta <[EMAIL PROTECTED]> wrote: > > > > 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 > > > > > >
