You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2008/06/18 20:12:45 UTC

[jira] Resolved: (SYNAPSE-366) Retrieving the WSDL for a proxy service without publishWSDL causes NullPointerException

     [ https://issues.apache.org/jira/browse/SYNAPSE-366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen resolved SYNAPSE-366.
-------------------------------------

    Resolution: Fixed

In this case Axis2 generates a wsdl:message element with a null value for the name attribute, causing the NPE later. Setting the name of the in-out messages in ProxyService solves the problem. I also added a regression test for this.

> Retrieving the WSDL for a proxy service without publishWSDL causes NullPointerException 
> ----------------------------------------------------------------------------------------
>
>                 Key: SYNAPSE-366
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-366
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.2
>            Reporter: Andreas Veithen
>            Assignee: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.3
>
>
> Example proxy service definition:
>     <proxy name="confirm">
>         <target>
>             <inSequence>
>                 <drop/>
>             </inSequence>
>         </target>
>     </proxy>
> When trying to retrieve the WSDL using http://localhost:8080/soap/confirm?wsdl, the following exception is triggered:
> org.apache.axis2.AxisFault
>     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>     at org.apache.axis2.description.AxisService.getWSDL(AxisService.java:1471)
>     at org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1334)
>     at org.apache.synapse.transport.nhttp.ServerWorker.processGet(ServerWorker.java:341)
>     at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:192)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:613)
> Caused by: java.lang.NullPointerException
>     at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteAttr(BaseNsStreamWriter.java:468)
>     at com.ctc.wstx.sw.BaseNsStreamWriter.writeAttribute(BaseNsStreamWriter.java:230)
>     at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeAttribute(MTOMXMLStreamWriter.java:184)
>     at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:473)
>     at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:227)
>     at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:915)
>     at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:903)
>     at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:919)
>     at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:903)
>     at org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:375)
>     at org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:415)
>     at org.apache.axis2.util.XMLPrettyPrinter.prettify(XMLPrettyPrinter.java:136)
>     at org.apache.axis2.description.AxisService.getWSDL(AxisService.java:1467)
>     ... 6 more
> This then causes the following error:
> 2008-06-18 19:06:54,513 [192.168.1.5-orcus.veithen.net] [HttpServerWorker-5] ERROR ServerHandler Unexpected HTTP protocol error : Transfer-encoding header already present
> org.apache.http.ProtocolException: Transfer-encoding header already present
>     at org.apache.http.protocol.ResponseContent.process(ResponseContent.java:67)
>     at org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:304)
>     at org.apache.synapse.transport.nhttp.ServerHandler.commitResponse(ServerHandler.java:212)
>     at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncResponse(HttpCoreNIOSender.java:394)
>     at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:249)
>     at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:530)
>     at org.apache.synapse.transport.nhttp.ServerWorker.handleException(ServerWorker.java:489)
>     at org.apache.synapse.transport.nhttp.ServerWorker.processGet(ServerWorker.java:344)
>     at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:192)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:613)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org