Petals BC SOAP

SOAPProcessingException when the SOAP server return an HTTP code

Details

  • Type: Bug Bug
  • Status: New New
  • Resolution: Unresolved
  • Affects Version/s: 4.0.5
  • Fix Version/s: None
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    When you do a soap consumes request to a server with a service over http, of course you can receive an http error code (404, 502,...). I think it would be great to get a "readable' fault (by adding a bc soap fault to the provided wsdl for example, but it's another subject of course, Mep InOut) At least be able to see the http error code would be great. And of course, I think that the WARNING stack trace must be replace by a clear INFO line (It's a nominal case, to receive an http error code, so do not alarm the supervisor agent!) .. Today we receive a default fault with the stack trace embedded. T
    The petals esb 3.1.1 trace:

    WARNING 2011-02-16 09:47:53,023 [Petals.Container.Components.petals-bc-soap]
        Catch an exception on the WS invocation : First Element must contain the local name, Envelope , but found html
    org.apache.axis2.AxisFault: First Element must contain the local name, Envelope , but found html
            at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
            at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:90)
            at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353)
            at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
            at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
            at org.ow2.petals.binding.soap.listener.outgoing.PetalsServiceClient.sendReceiveBody(PetalsServiceClient.java:177)
            at org.ow2.petals.binding.soap.listener.outgoing.SOAPCaller.call(SOAPCaller.java:294)
            at org.ow2.petals.binding.soap.listener.outgoing.JBIListener.invokeCaller(JBIListener.java:132)
            at org.ow2.petals.binding.soap.listener.outgoing.JBIListener.onJBIMessage(JBIListener.java:156)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOutAsProvider(MessageExchangeProcessor.java:637)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:372)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:234)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:177)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:191)
            at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:172)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:156)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:105)
            at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:677)
            at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:182)
            at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
            at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:88)
            ... 15 more

    It's a minor bug for me.

    Show
    When you do a soap consumes request to a server with a service over http, of course you can receive an http error code (404, 502,...). I think it would be great to get a "readable' fault (by adding a bc soap fault to the provided wsdl for example, but it's another subject of course, Mep InOut) At least be able to see the http error code would be great. And of course, I think that the WARNING stack trace must be replace by a clear INFO line (It's a nominal case, to receive an http error code, so do not alarm the supervisor agent!) .. Today we receive a default fault with the stack trace embedded. T The petals esb 3.1.1 trace:
    WARNING 2011-02-16 09:47:53,023 [Petals.Container.Components.petals-bc-soap]
        Catch an exception on the WS invocation : First Element must contain the local name, Envelope , but found html
    org.apache.axis2.AxisFault: First Element must contain the local name, Envelope , but found html
            at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
            at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:90)
            at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353)
            at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
            at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
            at org.ow2.petals.binding.soap.listener.outgoing.PetalsServiceClient.sendReceiveBody(PetalsServiceClient.java:177)
            at org.ow2.petals.binding.soap.listener.outgoing.SOAPCaller.call(SOAPCaller.java:294)
            at org.ow2.petals.binding.soap.listener.outgoing.JBIListener.invokeCaller(JBIListener.java:132)
            at org.ow2.petals.binding.soap.listener.outgoing.JBIListener.onJBIMessage(JBIListener.java:156)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOutAsProvider(MessageExchangeProcessor.java:637)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:372)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:234)
            at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:177)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:191)
            at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:172)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:156)
            at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:105)
            at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:677)
            at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:182)
            at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
            at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:88)
            ... 15 more
    It's a minor bug for me.
  • Environment:
    RHEL 5, ESB 3.1.1

Issue Links