Geeks With Blogs
Solution Architecture, Strategy eCommerce and Omni Channel Thought at the end of the day

Siebel consultants use a wizard to build Web service WSDLs from their integration objects. One thing to watch out for is the value for ElementFormDefault in the WSDL. Sometimes (Not sure why) they will generate the WSDL and will have the following line:

 

<xsd:schema xmlns:xsdLocal0="http://www.CompanyName.co.uk/103Product/BBTErrorReturn" targetNamespace=http://www.CompanyName.co.uk/103Product/BBTErrorReturn xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 

Which is fine but then the return value you get from the web service call is qualified, which looks like this:

 

 

xml version="1.0" encoding="UTF-8" ?>

- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

- <SOAP-ENV:Body xmlns="http://www.CompanyName.co.uk/xml/BBT_Account_And_Address_Inbound/BBT_Account_And_Address_Inbound">

- <BBTErrorReturn xmlns="http://www.CompanyName.co.uk/103Product/BBTErrorReturn">

  <ErrorCode xmlns="http://www.CompanyName.co.uk/103Product/BBTErrorReturn">0x6cbe -- 0x6b0c -- 0x80d8ErrorCode>

  <ErrorMessage xmlns="http://www.CompanyName.co.uk/103Product/BBTErrorReturn">'Street Address' is a required field. Please enter a value for the field. (SBL-DAT-00498) -- Stack trace: Service [BBT_Account_and_Address_Inbound].Service_PreInvokeMethod(), Line: 282 -- Error invoking service 'BBT_Account_and_Address_Inbound', method 'AccountAddressInbound' at step 'Update Account And Address'.(SBL-BPR-00162)ErrorMessage>

  BBTErrorReturn>

  SOAP-ENV:Body>

  SOAP-ENV:Envelope>

 

You end up having a dehydrated orchestration because you will are not able to read the SOAP response. If you use the SOAP Tool Kit as a proxy you can see the response coming back ok In addition if you use debug view to output the message from inside the orchestration, you will only see the top element without the sub elements.

 

The way around this is by manually editing the WSDL to add the attribute elementFormDefault="qualified". So that line should look like this:

<xsd:schema elementFormDefault="qualified"

 targetNamespace="http://www.siebel.com/xml/BBT Admin Product Definition"

 xmlns:xsdLocal1="http://www.siebel.com/xml/BBT Admin Product Definition"

 xmlns:xsd="http://www.w3.org/2001/XMLSchema"

> 

 

Then regenerate your schemas again from the Web reference. I tried just changing the schemas generated from the WSDL but that did not work. My best guess is that BizTalk 2004 uses the WSDL rather than the xsd file that VS2003 produces.

 

I hope this helps few people.

 

Posted on Wednesday, January 19, 2005 2:03 PM About BizTalk | Back to top


Comments on this post: Gotcha!! Integrating with Siebel Web services using Biztalk 2004 SOAP

# re: Gotcha!! Integrating with Siebel Web services using Biztalk 2004 SOAP
Requesting Gravatar...
hi ,
i will really appretiate if anybody helps me.
we are calling web services which are hosted on client machine.
whenever i try to call througn biztalk i am getting following exception.


System.Net.WebException: The request failed with HTTP status 504: Proxy Timeout ( The connection timed out. ).
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at S3CommonAr


Please help me regarding same.
Left by Pandurang on May 23, 2007 5:03 AM

Your comment:
 (will show your gravatar)


Copyright © Tamer Shaaban | Powered by: GeeksWithBlogs.net