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 !!