Skip to Content
0
Former Member
Nov 17, 2004 at 07:47 PM

Web Service Array Serialization/DeSerialization in EP 6.0 SP4 !!

12 Views

Environment :

Portal : 6.0.4.0.0.Enterprise_Portal_Support_Package_4

JDK : 1.3.1

NW Studio : 2.0.4

I have published a portal service as a web service through the NW studio and created a standalone client. I have written a test client which uses the client jar file generated from NW studio stanalone proxy wizard. I also did a HTTP trace and looked at the request being sent to the portal. I am getting the following exception on the server side ...

javax.xml.soap.SOAPException: Unable to serialize SOAPPart from source

at com.sap.engine.services.webservices.jaxm.soap.SOAPPartImpl.setContent(SOAPPartImpl.java:186)

at com.sap.engine.services.webservices.jaxm.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:80)

at com.sap.engine.services.webservices.jaxm.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:36)

at com.sapportals.portal.prt.service.soap.SOAPConnection.processSOAPPost(SOAPConnection.java:237)

at com.sapportals.portal.prt.service.soap.SOAPConnection.handleRequest(SOAPConnection.java:185)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)

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

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

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

at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:153)

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

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:377)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:257)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:322)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:300)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:699)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:224)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

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

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: com.sap.engine.lib.xml.parser.NestedSAXParserException: com.sap.engine.lib.xml.parser.ParserException: The empty string is not acceptable for a value of an xmlns:* attribute.(:main:, row:1, col:3321)(:main:, row=1, col=3321) -> com.sap.engine.lib.xml.parser.ParserException: The empty string is not acceptable for a value of an xmlns:* attribute.(:main:, row:1, col:3321)

at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:136)

at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:150)

at com.sap.engine.services.webservices.jaxm.soap.SOAPPartImpl.parseDocument(SOAPPartImpl.java:49)

at com.sap.engine.services.webservices.jaxm.soap.SOAPPartImpl.setContent(SOAPPartImpl.java:174)

For some reason, the client is sending blank as the xml name space for array attributes in the objects when serializing. Also, I have used the wsdl as it is and have not modified it.

The client is sending the following for array attributes in the soap request [:main:, row:1, col:3321 ] ...

xmlns:tns='' xmlns:ns2='http://schemas.xmlsoap.org/soap/encoding/'

Are there any issues if complex object includes array of complex objects ??

I appreciate your help !!