Saturday, 2 February 2013

Problem with WSS or WSP headers in WSDL while using WSDL-APEX

WSDL to APEX is really a good feature to Support SOAP API callouts to the external system in force.com.

Although this feature provides us the stub classes for us to make callout usually its not simple to parse the WSDL to the apex classes .Reason being this out-of-box feature has numerous limitation and as a technical architect or an integration specialist must be aware of these limitations

Here is the link to the document where the limitations are documented in sfdc

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_callouts_wsdl2apex.htm

I came across a situation of late where i was able to parse the WSDL and generate the API classes still i was not able to make callout with exception saying authentication failed .

For authentication its usually best to use HTTP headers and even WSDL to apex does support addition of HTTP headers .To understand this again the above link is very helpful.

My problem was more weird i had authentication headers in my WSDL and it had tags using WSS and WSP.

What are actually WSP and WSS?

https://wiki.servicenow.com/index.php?title=SOAP_Web_Service
http://docs.oracle.com/cd/E23943_01/web.1111/e13750/sec_assert.htm

I went to the link above and read the document of oracle and its a security protocol for webservices .To deep dig above two links are great.

Coming to my problem again

1)If salesforce WSDL>apex dont support then i should get error while parsing (WSDL parsed out with no issues )
2)How can i make changes to my generated classes if i need to add and make this work?

Thanks to stackexchange.I quickly posted and tweeted to sandeep,Patt and other evangelism at salesforce who can help me

http://salesforce.stackexchange.com/questions/7587/forming-soap-header-through-apex-class-if-the-wsdl-provided-has-no-information-r

Thankfully Sandeep Bhanot replied saying WSDL>APEX don't support this yet .

So we have only one alternative left is to make a HTTP callout instead by dynamically constructing the XML with SOAP headers .

The above is only an alternative and must be adapted when no other choice left .

Best approach is still look whether the server programming at the other end can be adjusted to use simple HTTP authentication then having authentication in SOAP header.

Hope this helps !Enjoy Integrating with salesforce!


3 comments:

  1. Bài viết rất hay: Chúng tôi chuyên cung cấp các sản phẩm chất lượng sau:



    Lều xông hơi sau sinh có gì đặc biệt?



    Lều xông hơi gia đình giá rẻ



    Cảm ơn các bạn!

    ReplyDelete
  2. Bài viết rất hay: Chúng tôi chuyên cung cấp các sản phẩm chất lượng sau:



    bồn massage giá rẻ tại hà nội



    bồn mát xa có lợi ích gì



    Cảm ơn các bạn!

    ReplyDelete
  3. Techforce services is a Salesforce Consulting Services in Australia Specializing in delivering end to end Salesforce solutions ,Consulting, Implementation DevOps partners in Australia We deliver applications and services more rapidly and reliably, but it’s more than a methodology – it cuts to the very core. Salesforce Data Analytics let us help you become a data driven organization and ensure your data is working hard for your business, This includes implemention
    Salesforce consulting companies
    Salesforce top partners
    Staff augmentation companies
    Salesforce DevOps services
    Salesforce integration companies
    Salesforce Implementation services
    Salesforce Health Check
    Salesforce DevOps
    Managed project services

    ReplyDelete

Introducing Lightning Base Components

Lightning Base Components are great addition to the platform and in fact revolutionary .One of the concerns around lightning component ...