I am trying to create my own service from an Amazon WSDl. The step from wsdl to wsdl 2.0 to Java works fine. Even ant compiles the service without errors. After uploading the service to Axis2 all the operations are shown. But if I try to call one operation I always get the NullpointerException.
Here are the details:
Glassfish 3.1.2 with axis2 1.6.2 on Windows 7 64-Bit, Java 1.7.0_25 JDK
POST /axis2/services/SimpleQueueService/CreateQueue HTTP/1.1
Host: localhost:8080
X-Amz-Date: 20130715T220823Z
User-Agent: aws-sdk-java/1.4.7 Windows_7/6.1 Java_HotSpot(TM)_64-Bit_Server_VM/23.25-b01
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
Proxy-Connection: Keep-Alive
QueueName=MyQueue
The answer is always Internal Server Error with the following error in the glassfish "server.log":
[#|2013-07-17T16:38:28.060+0200|WARNING|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=201;_ThreadName=Thread-2;|StandardWrapperValve[AxisServlet]: PWC1406: Servlet.service() for servlet AxisServlet threw exception
java.lang.NullPointerException
at org.apache.axis2.builder.BuilderUtil.buildsoapMessage(BuilderUtil.java:142)
at org.apache.axis2.builder.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:118)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:179)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
at org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:65)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processXMLRequest(AxisServlet.java:826)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:227)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:724)
|#]
I tried to compile the last axis2-snapshot, but glassfish did not accept it. (exceptions...)
Can anyone give me some hints?
It appears that all the remote calls on the SQS WSDL take text/xml as input, not application/x-www-url-encoded. Assuming I'm looking at the same WSDL as you.
http://sqs.us-east-1.amazonaws.com/doc/2012-11-05/QueueService.wsdl