[
https://jira.jboss.org/jira/browse/JBESB-1985?page=com.atlassian.jira.plu...
]
Kevin Conner commented on JBESB-1985:
-------------------------------------
The first one does not generate the correct WSDL as the faults should not have been
included.
The mistake is that the ESBServiceEndpointInfo is using the MEP to determine whether the
exposure is for a one way service or not and this leads to the SOAP response you are
seeing.
I'll fix that and have a look at the second issue at the same time.
EBWS - One-way MEP is not supported
-----------------------------------
Key: JBESB-1985
URL:
https://jira.jboss.org/jira/browse/JBESB-1985
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Rosetta, Web Services
Affects Versions: 4.4 CP1
Reporter: Jiri Pechanec
Priority: Critical
Fix For: 4.4 CP1
I tried to set-up service with one-way MEP. I used two methods to achieve it
1) RequestReply ESB service without outXsd
<service
category="ESBServiceSample"
name="RequestReplyCrippled"
description="Hello world ESB Service"
invmScope="GLOBAL">
<actions mep="RequestResponse" inXsd="/request.xsd"
faultXsd="/fault.xsd">
<action name="action"
class="org.jboss.soa.esb.samples.quickstart.ebws.MyJMSListenerAction"
process="displayMessage"
/>
</actions>
</service>
This service generates correct WSDL
<wsdl:operation name='RequestReplyCrippledOp'>
<wsdl:input message='tns:RequestReplyCrippledReq'
name='RequestReplyCrippledReq'></wsdl:input>
<wsdl:fault message='tns:RequestReplyCrippledFault1'
name='fault1'></wsdl:fault>
</wsdl:operation>
But the SOAP reply is incorrect
<env:Envelope
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:...
xmlns:say='http://www.jboss.org/sayHi'><say:arg0>Response from ESB
Service</say:arg0></say:sayHiResponse></env:Body></env:Envelope>
2) OneWay ESB service without outXsd
<service
category="ESBServiceSample"
name="OneWay"
description="Hello world ESB Service"
invmScope="GLOBAL">
<actions mep="OneWay" inXsd="/request.xsd"
faultXsd="/fault.xsd">
<action name="action"
class="org.jboss.soa.esb.samples.quickstart.ebws.MyJMSListenerAction"
process="displayMessage"
/>
</actions>
</service>
This service generates correct WSDL
<wsdl:portType name='OneWayPortType'>
<wsdl:operation name='OneWayOp'>
<wsdl:input message='tns:OneWayReq'
name='OneWayReq'></wsdl:input>
</wsdl:operation>
</wsdl:portType>
But the server throws an exception
2008-09-04 11:47:39,944 ERROR [org.jboss.wsf.stack.jbws.RequestHandlerImpl] Error
processing web service request
org.jboss.ws.WSException: java.lang.NullPointerException
at org.jboss.ws.WSException.rethrow(WSException.java:68)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:311)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:190)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:123)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.sendResponse(RequestHandlerImpl.java:345)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:307)
... 22 more
2008-09-04 11:47:39,945 ERROR [org.apache.catalina.core.ContainerBase] Servlet.service()
for servlet ESBServiceSample_OneWay threw exception
java.lang.NullPointerException
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.sendResponse(RequestHandlerImpl.java:345)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:307)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:190)
at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:123)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira