In-only http soap-producer does not work if an in-only consumer receives a 
message it sends
-------------------------------------------------------------------------------------------

                 Key: SMX4-427
                 URL: https://issues.apache.org/activemq/browse/SMX4-427
             Project: ServiceMix 4
          Issue Type: Bug
    Affects Versions: 4.1.0
            Reporter: Sergey Beryozkin
            Priority: Minor
             Fix For: 4.0-m1


In-only http soap-producer attempts to read a response message so it fails if 
an in-only consumer receives the request on other end. Replacing it with an 
in-only cxfbc:producer fixes the issue, thus I'm marking this issue as a minor 
one given that generally cfxbc:producer is a better SOAP provider

Note that the wsdl used by the http soap-producer has only input parts in 
portType/binding.
Here's some log.


18:02:09,087 | DEBUG | 32437...@qtp1-1  | PhaseInterceptorChain            | 
.soap.core.PhaseInterceptorChain   96 | Invoking handleFault on interceptor 
org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
18:02:09,087 | DEBUG | 32437...@qtp1-1  | PhaseInterceptorChain            | 
.soap.core.PhaseInterceptorChain   96 | Invoking handleFault on interceptor 
org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
18:02:09,087 | DEBUG | 32437...@qtp1-1  | NMR                              | 
.servicemix.nmr.core.ChannelImpl  274 | Channel 
org.apache.servicemix.nmr.core.channeli...@833d35 dispatching exchange: [
  id:        49757c3d-fae3-45f4-be58-e6ddfb484702
  mep:       InOnly
  status:    Error
  role:      Provider
  target:    
PropertyMatchingReference[{SERVICE_NAME={http://servicemix.apache.org/samples/wsdl-first}PersonService,
 ENDPOINT_NAME=soap2}]
  operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
  properties: [
      javax.jbi.ServiceEndpoint = 
org.apache.servicemix.jbi.runtime.impl.serviceendpointi...@f22456
      javax.jbi.messaging.MessageExchange = 
org.apache.servicemix.jbi.runtime.impl.inonlyi...@12f95de
      javax.jbi.messaging.sendSync = <null>
      javax.jbi.servicedesc.ServiceEndpoint = 
org.apache.servicemix.jbi.runtime.impl.endpointi...@1a83597
      javax.jbi.ServiceName = 
{http://servicemix.apache.org/samples/wsdl-first}PersonService
      org.apache.servicemix.correlationId = 49757c3d-fae3-45f4-be58-e6ddfb484702
      javax.jbi.transaction.jta = <null>
      org.apache.servicemix.soap.api.Message = <null>
      javax.jbi.InterfaceName = <null>
      org.apache.servicemix.senderEndpoint = 
{http://servicemix.apache.org/samples/wsdl-first}PersonService:soap
  ]
  In: [
    content: org.apache.servicemix.soap.util.stax.staxsou...@c22b28
    properties: [
      javax.jbi.messaging.protocol.headers = {User-Agent=Mozilla/5.0 (Windows; 
U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET 
CLR 3.5.30729), Host=localhost:8192, Accept-Encoding=gzip,deflate, 
Accept-Language=en-us,en;q=0.5, Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7, 
Pragma=no-cache, Content-Type=application/xml; charset=UTF-8, 
REQUEST_METHOD=POST, Cache-Control=no-cache, 
Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8, 
REQUEST_URI=http://localhost:8192/PersonService/, Content-Length=316, 
Connection=keep-alive, Keep-Alive=300, CONTENT_TYPE=application/xml; 
charset=UTF-8}
    ]
  ]
  error: [
    org.apache.servicemix.soap.api.Fault: com.ctc.wstx.exc.WstxIOException: 
Stream closed
      at 
org.apache.servicemix.soap.util.stax.StaxUtil.createReader(StaxUtil.java:59)
      at 
org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor.handleMessage(StaxInInterceptor.java:55)
      at 
org.apache.servicemix.soap.core.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:85)
      at 
org.apache.servicemix.http.endpoints.HttpSoapProviderMarshaler.handleResponse(HttpSoapProviderMarshaler.java:135)
      at 
org.apache.servicemix.http.endpoints.HttpProviderEndpoint.handle(HttpProviderEndpoint.java:249)
      at 
org.apache.servicemix.http.endpoints.HttpProviderEndpoint$Exchange.onResponseComplete(HttpProviderEndpoint.java:356)
      at 
org.mortbay.jetty.client.HttpExchange$Listener.onResponseComplete(HttpExchange.java:584)


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

Reply via email to