Home Page › Forums › BizTalk 2004 – BizTalk 2010 › HTTP header ‘SOAPAction’ was not recognized – Error Message
- This topic has 7 replies, 1 voice, and was last updated 8 years, 4 months ago by
community-content.
-
AuthorPosts
-
-
August 9, 2010 at 8:24 AM #25578
Hello.
I consume a Web Service from a WCFBasic-Http Adapter. The Adapter is called from an orchestration and is Static Solicit-Response when the request is finished an xml file should be written in another folder. Therefore another send adapter (file adapter) is added. The WCFBasic-Http Adapter is bind on a Send-Port.
The issue I have is, that ein get an error message if I call the Web Service. The error message is this:
xlang/s engine event log entry: Uncaught exception (see the ‘inner exception’ below) has suspended an instance of service ‘MM2Billing.MM2PBBillingReqOrc(0a8b2f2e-acd8-bdb1-31e2-4fb4953c00bd)’. The service instance will remain suspended until administratively resumed or terminated. If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception. InstanceId: c0d4d1e5-8405-46c0-a57b-58764d7820f8 Shape name: ShapeId: Exception thrown from: segment -1, progress -1 Inner exception: Received unexpected message type ‘http://schemas.xmlsoap.org/soap/envelope/#Fault’ does not match expected type ‘http://watt.org/#ArrayOfCustomerWithObjectAndContract’.
So I included another Send Port with a filter of the WCF adapter and I got the following error message:
<soap:Fault xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/“>
<faultcode>soap:Client</faultcode><faultstring>The value of the HTTP header ‘SOAPAction’ was not recognized by the server: <BtsActionMapping xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”> <Operation Name=”GetU7CustomerWithObjectAndContract” Action=”http://watt.org/GetU7CustomerWithObjectAndContract” /> </BtsActionMapping>.</faultstring>
<detail /></soap:Fault>I’m searching for hours but I couldn’t find the issue.
Any ideas of fixing this?
Thank you very much in advance.
Wolfgang
-
August 9, 2010 at 9:13 AM #25579
Hi Wolfgang,
Since you are using WCF adapter to consume the web service, did you follow the directions given by this MSDN article?
http://msdn.microsoft.com/en-us/library/bb743856(BTS.20).aspx
Daniel.
-
August 10, 2010 at 3:37 AM #25583
Hi Daniel.
Thanks for the Link, there are some nice information. But unfortunately the WCF is still not working!!! [:@]
What I have done so far, in the Send-Port I included the WCFBasicHttp-Adapter for Solicit Response and I use the SOAP Action Header with ActionMapping in the General tab.
The Filter is set to BTS.Operation == “Operation I want”. I got the same error message.
In the Orchestration first thing I do is to use a Receive Port to consume a xml file. In this xml file I have some parameters I have to use with the method I call (“Operation I want”). After reading these parameters I map it with the schema I generated before with the “Consume WCF Service” – Wizard. And then I use the Solicit-Response Adapter. At last I use another Send Port to write the Response in a folder. Unfortunately I stuck in the beginning where I call the Web Service.
I think the adapter tried to call the method, but without parameters. Could that be?
Is this possible to check it somewhere or somehow?
Thanks for your tips.
Wolfgang
-
August 10, 2010 at 8:39 AM #25585
Hi Wolfgang,
It’s hard to answer your question regarding the web service method without knowing what the signature of that service looks like. Can you browse to the URL of that service and see what the WSDL looks like? If you can, you should be able to find out if the method accepts parameters or not. Also, do you have a test harness to make sure that the service is working properly? Have you tried consuming this web service in a simple .NET application?
Daniel.
-
August 10, 2010 at 9:38 AM #25587
Hi Daniel.
It tested it again – I can see the right wsdl and that the web service is using parameters. I started the web service with my test parameters and it works very well. So I’m thinking the missing parameters produce the error.
I mapped the parameters in the destination schema. So is this the right way to let the adapter know when it calls the method which parameters it has to give the web service? Or is there another way to call the method with parameters?
Thanks for your help in advance.
Wolfgang
-
August 10, 2010 at 11:08 AM #25589
Hi Wolfgang,
I assume you generated the web service’s web request and web response schemas, right? If you mapped the parameters to the web request schema (the destination schema in your map), you should be ok. Did you specify the correct URL in the WCF adapter settings?
Daniel.
-
August 11, 2010 at 1:06 AM #25594
Hi Daniel.
Yes, with the “Consume WCF Service”- Wizard I generated both xxxbindings.xml, one schema for request and response and an orchestration. I deletet the orchestration because I build my one before. In the request area of the schema I filled the fields with the search parameters. Then I build a send port with the binding info (wcf adapter) and set the filter to bts.operation == “the operation I need”.
In the orchestration I have a solicit response port. The receive port receive the data and in a first step I write these Data out over another send port as an xml document.
Thanks for not giving up so far! [;)]
Wolfgang
-
August 11, 2010 at 2:40 AM #25595
Hi Daniel.
Ok, I changed again the Action Header from Action Mapping to single and put it in another MessageAssigment Shape. And I had to use another Schema for the respond. Now it works fine!!
Thanks again for your help and links! [Y]
cheers
Wolfgang
-
-
-
-
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.