WCF BasicHttp Sendport and empty SOAP action

Hi

We have to integrate a SOAP service that uses an empty SOAP action (""). How can I call this service using BizTalk? Once I leave the Action field blank in send port configuration, BizTalk is not sending any SOAP action.

If I enter "" in the Action field, BizTalk sends """"....

Do you have any suggestions?

Regards

June 27th, 2013 4:56pm

Mrks,

which adapter you are using?

Can you share wsdl?

Free Windows Admin Tool Kit Click here and download it now
June 27th, 2013 5:12pm

Mrks,

which adapter you are using?

Can you share wsdl?

June 27th, 2013 5:21pm

Mrks,

Did you try posting request using C# or some other tool (Like connectivity test with successful response) ? If you did how does the header look like?

Do you know what exactly you need to do with Soap Action?

Free Windows Admin Tool Kit Click here and download it now
June 27th, 2013 5:35pm

It's the client that's rejecting the value of Action?

Did you try something like '*'?

June 27th, 2013 5:43pm

For SOAP 1.1 specification soap action header is must. In Soap1.2 specification its not required. Is your service expecting soap 1.2 message. If yes then you should try using WSHttpBinding because basicHttpBinding uses soap1.1

Free Windows Admin Tool Kit Click here and download it now
June 27th, 2013 5:59pm

Hi Mrks83,

As per W3C notes:

The soapAction attribute specifies the value of the SOAPAction header for this operation. This URI value should be used directly as the value for the SOAPAction header; no attempt should be made to make a relative URI value absolute when making the request. For the HTTP protocol binding of SOAP, this is value required (it has no default value). For other SOAP protocol bindings, it MUST NOT be specified, and the soap:operation element MAY be omitted.

In .NET, SOAPAction is generated for you. But we explicitly make it empty like the below code, even in .NET I think you can get services with empty soapaction..

[OperationContract(Action = "")]
public void DoNothing()
{
}

Did you try following as SOAP action header in your send port:

<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="YfCallPostManagerRfc" Action="" />
</BtsActionMapping>

Other option worth trying is using SOAP adapter not WCF based adapter.

June 27th, 2013 7:01pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics