This discussion is archived
1 Reply Latest reply: Oct 29, 2009 7:54 PM by 843830 RSS

BPEL engine sets wrong Content-Type on calling an external web service

843830 Newbie
Currently Being Moderated
I have a WSDL for an external web service (which as it happens is running in Websphere locally) and have implemented it as a
partnerlink on a BPEL diagram in an SOA composite project.
The binding style is Document and if you use SOAPUI to test it it
works fine. Tracing on the web service's server shows the SOAP request
coming in. It has a content-type of text/xml, as expected. If I do a
JUnit test from NetBeans based on this WSDL alone it also works - same result. BUT if I do
a full test and call my BPEL process the invocation of this service
from BPEL fails.

On the Test result you see
BPCOR-6135:A fault was not handled in the process scope; Fault Name is http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault;
(This happens because I did not handle the fault in the BPEL.)

On the trace I see it now has Content-type of
application/xop+xml. Why would the Sun BPEL engine change this? I just
accepted the usual defaults when I created the PartnerLink and the
Invoke. Anyway, the format of the request doesn't match what the WS server expects, so it fails.
As far as I'm aware I'm just using SOAP1.1. This is NetBeans 6.5 with
Glassfish 2.1. I tried with NetBeans 6.7 and it got worse, not better.
I would certainly appreciate any advice?

Thanks
  • 1. Re: BPEL engine sets wrong Content-Type on calling an external web service
    843830 Newbie
    Currently Being Moderated
    Perhaps when the BPEL file based process calls the WSDL file to execute,their message communication is not correct.

    the head part in the WSDL file should be manually set to "text/xml", or the IDE or Server will use the default value;
    for example as follow:
    SOAPUI tool would use the default value "text/xml" to request.(depends the tool support).
    NetBeans tool would use the default value "text/xml" to request.
    when you do a full test and you do not set the head "context-type" value ,the WSDL file use the server's default head
    value"application/xop-xml" so that return the contents under the control of the server's default value.

    I hope these will be useful for you.