Use BizTalk 2006 as a proxy for an external Web Service

Hi
We have a solution that is going to work just as a proxy for an external Web Service.
It works like this:
1. We have a Request-Response receive port that receives the calls for the WS.
2. Different Static Solicit-Response ports that have filters for each method in the WS receive the requests and then send them to the external WS.
3. The response from the external WS is then sendt back to the caller via the Request-Response port in point 1.
This generally works like it should. The only problem i have is when the external WS returns a Fault message. I get this fault from the external WS:
<s:Fault xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>s:Client</faultcode><faultstring xml:lang="nb-NO">Some error message the caller should see.</faultstring><detail><GenericFault
xmlns="http://register.test.com/Common" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ErrorCode>SomthingWentWrong</ErrorCode><Message>Some error message the caller should see.</Message></GenericFault></detail></s:Fault>
This message then failes on BizTalk and BizTalk returns this Fault message to the caller:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP:Body><SOAP:Fault><faultcode>Microsoft BizTalk Server Negative Acknowledgment
</faultcode><faultstring>An error occurred while processing the message, refer to the details section for more information </faultstring><faultactor>/Hemit.BizTalk.NHN.Position.ws/IPositionService.asmx</faultactor><detail><ns0:NACK
Type="NACK" xmlns:ns0="http://schema.microsoft.com/BizTalk/2003/NACKMessage.xsd"><NAckID>{7AC314FE-2CA3-44AE-8208-180495500481}</NAckID><ErrorCode>0xc0c016b7</ErrorCode><ErrorCategory>0</ErrorCategory><ErrorDescription>There
is an error in XML document (1, 2).</ErrorDescription><ErrorDetail>&lt;Fault xmlns='http://schemas.xmlsoap.org/soap/envelope/'&gt; was not expected.</ErrorDetail></ns0:NACK></detail></SOAP:Fault></SOAP:Body></SOAP:Envelope>
So the problem seems to be that the Request-Response port in point one will ONLY accept the real response that is specified in the response schema for that particular method, and not a Fault. And when it receives a fault, it generates its own Fault saying
a Fault message was not expected.
Does anyone know how i can be able to send the actual fault from the external WS all the way back to the caller on the inside?
I know how to do it with an orchestration, but can not figure out how to get it done just with the ports.
Kind regars
John Viggo

Hi John,
Enable Propagate fault message
on the WCF solict –response port.
For the two-way send port, you can choose whether to forward
SOAP fault messages on to the original caller over a solicit-response send port by selecting
Propagate fault message. If this option is not selected, BizTalk Server will generate a NACK. What you see is the NACK.
If it is selected, BizTalk Server will treat the message as a valid WCF response message from the external service and the response message will not be suspended because it is propagated.
Then you need to map the fault message to the actual response in the map. Set this Fault-Message to Caller-Response map in the outbound map of the Requeust-Response port.
In this case of messaging-only scenario, this method shall help in handling the fault message and passing fault details back to the caller. Refer the following articles for more details.
Synchronous web services calls and Faults
BizTalk and
SOAPFault
version issues
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful.

Similar Messages

  • What is the URL for an external web service

    I have an external web service that I want to invoke a BPEL process. I was wondering how to find the URL for the BPEL process.
    cheers
    James

    We're invoking the BPEL endpoint from a .NET app using the 'endpoint location' but seemed to be forced to use the embedded version number. For instance we have to say 'http://<server>:<port>/orabpel/<domain>/<process>/1.0' and I can't seem to get rid of the '1.0'. This contrasts to the WSDL location where I can use a browser and remove the version number to get the current default.
    Am I doing something wrong? I'd like to avoid embedding the version in the endpoint.

  • How to use client.jar generated by deploytool for a EJB web service

    Hello!
    Could anyone help me?
    I use Sun Application Server to deploy my EJB module and expose it as a web service. Then I open deploytool tree and select localhost under Server branch. In the right panel it shows a list of web services deployed. I chose recently deployed service and press "Client Jar..." button to get generated client stubs.
    Good.
    Could anyone tell me how I should use this jar file? It does not contain ..._Service_Impl.class that is usually used to get service port and call service methods.
    Please, explain me.
    Thank you much

    try
    jar tf Client.jar and look at what is inside.
    Usually you run the client to connect to the server -- (java -classpath blah pack.age.name.Client)
    Dont know how its being done over there.

  • Security exception while running the java client for a secured web service.

    hi,
    I created a proxy for a secured web service.
    When I run the client java program I am getting the following exception :
    java.io.IOException: could not load the default-keystore.jks file because The keystore file is tampered or password is incorrect.
    Its saying that password is invalid.
    Can you please help me on this thanks in advance.
    Regards,
    Chandra

    hi,
    I created a proxy for a secured web service.
    When I run the client java program I am getting the following exception :
    java.io.IOException: could not load the default-keystore.jks file because The keystore file is tampered or password is incorrect.
    Its saying that password is invalid.
    Can you please help me on this thanks in advance.
    Regards,
    Chandra

  • Not able to use external Web service

    Hi All,
    I am facing an issue where in I am not able to access the external web service through webi rich client.
    Error is Provided URL is not valid WIS 10853
    It works fine for QAAWS and the external web service opens fine through Browser ( it opens an XML  page ).
    Additionally I have xcelcius installed and the external web service works fine on it.
    What can be the problem??
    Regards
    KP

    i want to expose data from share point through a webservice and use that webservice as a data source in Bi Publisher. But i am not able to use the webservice directly since it is a external web service.
    But i am not able to use the webservice directly since it is a external web service.
    why?
    look at "Creating a BI Publisher Report Based on External Web Services" ExternalWebServices
    For that i made below config changes. But it is causing weblogic server starting issues.
    why do you want to change some weblogic server settings?

  • Is it possible to call an external web service using ABAP?

    Hi~~
    I wonder that is possible to use an external web service in SAPGUI using ABAP without PI ( Process Integraion ).
    The external web service means the service that is developed by web-language like ASP.NET.
    Thank you.

    hi,
    i'm trying to study on how to use the oracle bi publisher using another client application aside from oracle. the client application is custom and uses a .Net framework. unfortunately, i am not familiar with how .Net sends requests to oracle bi publisher so i was thinking that may be i can just create oracle pl/sql stored procedures that can send this requests over to bi publisher.
    p.s. when you said concurrent manager, i'm not sure if you are referring to oracle apps concurrent manager but if you are, unfortunately i won't be using oracle apps with bi publisher.
    thanks
    allen

  • How to create ABAP Proxy for SSL secured ABAP Service

    Hi guys,
    I try to set up transport security for my ABAP web service. The service should be called via a ABAP Proxy.
    These are my steps to create the ABAP web service:
    1. Create function module (se80)
    2. Create web service (web service definition) (service wizard)
    2.1 Authentication = STRONG
    2.2 Transport Guarantee = BOTH
    3. Activate service (wsconfig)
    4. Control service (wsadmin)
    Afterwards I tried to create the proxy but when I add the WSDL URI I always get an
    HTTP error (return code 407, message "ICM_HTTP_SSL_ERROR")
    I tried to find a "How to" but I was not successfull. Also the saphelp http://help.sap.com/saphelp_nw04/helpdata/en/65/6a563cef658a06e10000000a11405a/frameset.htm was not helpful for me.
    Hopfully you can help me! Every comment is appreciated!
    Regards

    I advise to have a look into the ICM trace file (dev_icm) - either by using ABAP transaction ST11 or SMICM.
    There you should find error details. Most likely it's about the "chain verifier" complaining that he's unable to verify the certificate of the communication peer.
    In that case [SAP Note 1094342|https://service.sap.com/sap/support/notes/1094342] might be helpful.

  • Issue with calling an external web service using web service proxy

    Hi,
    I've created several web services using JDeveloper succesfully in the past, however I'm getting an issue with one that was working ok previously. Have spoken to the developers of the external web service and they say they haven't changed anything. Also if I test the external web service through soapUI for example it seems fine so it would seem that the issue is with the autogenerated code created by JDeveloper.
    Basically I get the following exception as it sends the request to the external service:
    java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Bad Authentication header format: 'Basic realm="Integration Server" encoding="UTF-8"'
    Expected "," at position 33
    The user name/password appear correct.
    JDev version 10.1.3.42.70
    Any ideas?
    Many Thanks
    Gary
    Edited by: user10916721 on 08-May-2012 09:54

    Found the answer. Basically I had one proxy web service working and one not both linking to a middle tier written in web methods. THe issue actually ended up being with the web methods code in that the one web service (that was not working) was put together using a backwards compatability mode. Once this was switched back then started working again in JDev.

  • Stub(Proxy) generation for external Web Service in SAP NW WebAS 6.40

    Hi,
    Can anyone tell me what tool is used to generate the proxy files for accessing any external web services in SAP NetWeaver WebAS 6.40 for JAVA (SAP DevStudio 2.0.5).
    Do i have to install any components or configuration for using external web services?
    Thanks,
    Mital.

    Hi Peter,
    Thanks for the reply.
    I have already gone through the Email Web Service tutorial. And implemented the tutorila.But no where they have mentioned about the toolkit they are using to generate stub files and SOAP request.(for eg Axis tool for WSDL to java generation).
    Also I am facing problems while I am trying to use an external webservice. I have posted the problem at Re: WebDynpro External Web Service Model.
    It would be nice if uyou can go through the problem and help me in solving the problem.
    Also can you please tell me the link for the mentioned documents on importing web service model.
    Thanks,
    Mital.

  • How to use a deployable proxy to consume a web service?

    HI Gurus,
    I am following this article below which helpfully explains how to create a proxy. So far so good. I have been able to create a proxy. However, the article only describes how to build a proxy.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70c7d0f7-153d-2a10-5d96-d334b67cd771
    In the concluding part of the document the author says "In my next article I will tell you how to use this deployable proxy to consume the web service in web application."
    I have looked around the SDN but have not been able to get the next part of this document.
    I have a JSPDynpage application which is required to consume a webservice. I want to use this proxt to consume the webservice.
    Any help or any other document that explains how to use a deployable proxy to consume a web service will be helpful.
    Thanks,
    SB

    Hi,
    Here is an example how to consume the deployable proxy in web application:
    http://help.sap.com/saphelp_nw70/helpdata/EN/ca/c8efe3e8a64163b01924ad4ccd706d/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/5c/971740198d8f5ce10000000a155106/frameset.htm
    Regards,
    Praveen Gudapati

  • Calling external Web Service: PI is looking for a logical port and proxy.

    Hi,
    My scenario is  ECC Proxy -> PI -> External Webservice (WS adapter).
    the Web service adapter fails with the error message:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">WS_ADAPTER_SYS_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>System error while calling Web service adapter: Error when initializing SOAP client application: &#39;error_text&#39;</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    When I debug the message processing, it is looking for a port in table SSRVRTCONFIG, finds it(entry created automatically when WS adapter and the corresponding receiver agreement is activated in ID.
    Then the program looks for an entry in "SRT_CFG_CLI_ASGN" for a proxy and logical port combination and errors out.
    to be able to call an external web service, do we need a proxy to be created? I tried to create but the proxy creation fails because the external WSDL has some unsupported tags.
    Also do we need to do any other configuration in SOAMANAGER? I am assuming not because the Web service is external.
    Any help would be appreciated.
    Thanks
    Vijay

    I already checked that note and made sure that the points mentioned are met. I have a trace set up on the target system and would know if the call reaches them and then fails in authorization. Right now the call doesnt even reach the target system and also from debugging I know that the program is looking for a proxy and then fails.

  • Use case for describing a web service

    Dear all,
    I have a fundamental question for describing a web service.
    An analyst will first write (1) a use case for describing the web service and (2) wsdl and xsd files for describing the web service.
    As a developer, I would say that artifact (2) is enough. As an analyst, I would still need to document the requirement in the format of use case specification. However, it is not clear for me what should be put in this use case specification and what is the added value of such a use case.
    Have you any sample example of this kind of use case in order to describe a web service?
    Thanks in advance.
    Pengyou

    wpafbuser1 wrote:
    First, don't post twice. I'd rather see you bump a post then repost the same question.
    Have you any sample example of this kind of use case in order to describe a web service?First, searching Google will show you millions of use cases you can use as examples. Second, why would you think writing a use case for a Web Service would be any different than any other use case?Sorry for posting twice. I thought the first one failed due to a system error but I was wrong.
    From millions of use case I can not find a "good" one.
    I have in fact two conceptual questions:
    1. I have not much to say about the flow of events. It is simply a request and a response. This is much simpler than a "normal" use case. Am I right?
    2. However, I don't know where to put the description of business logic: 2.1 the data sets to be put in the request and response; 2.2 the business logic to construct the response from the request.
    I would appreciate any hint or discussion.
    Pengyou

  • Sending SSL Certificate to external Web service in BizTalk 2010

    Hi,
    We are facing issues in calling the external web service(SAP I Web service) which is authenticated using the SSL self signed certificates.
    When BizTalk sends the request to SAP it fails with HTTP 401 error, and in SAP PI the log says calling application not sending the client certificate. Please help us in sending the request to external web service by signing with the client
    certificate.
    Below are the details,
    1. This is a 2-way SSL communication authenticating based on the client Certificate.
    2. BizTalk server public key certificate is shared to SAP PI and using SAP PI certificate public key in biztalk
    3. Configuration done at BizTalk as given below
    1. Created BizTalk Certificate using makecert command
    2. Client and Server Certificate Installation
    - Installed BizTalk Client Certificate in Certificates Store under
    a. Current User--> Personal (Private Key)
    b. Current User --> Trusted Root Certification Authorities (Public Key)
    c. Local Computer --> Personal (Private key)
    d. Local Computer --> Trusted Root Certification Authorities (Public Key)
    e. Current User--> Other People
    Installed SAP Server Certificate in Certificates Store under
    a. Current User --> Trusted Root Certification Authorities
    b. Current User --> Trusted People
    c. Local Computer --> Trusted Root Certification Authorities
    d. Local Computer --> Trusted People
    e. Current User--> Other People
    3. BizTalk Status Solicit Response Send Port(used to call the SAP PI Web service) Configuration
    - Transport Type  WCF-Custom
    - Binding  BasicHttpbinding
    Security Mode : Transport
     Client Credential Type : Certificate
     Proxy Credential Type : None
     Realm : localhost
    • Message
     Client Credential Type : Certificate
    Client CredentialsClient Certificate
     findValue : CN=< Thumbprint >
     x509Findype : FindByThumbPrint
    • Server Certificate
     findValue : <Thumbprint>
     x509Findype : FindByThumbPrint

    Hi All,
    The reasons why the trigger from BizTalk is failing and the trigger from SoapUI is successful.
    In SoapUI configuration we select the Private key of the client certificate and provide the password for the same.
    In BizTalk we only have the option of selecting the certificate and we cannot provide the password. Below is the MSDN article for the same
    In one of the Site  , its mentioned as below, Kindly let us knwo whether the below mentioned will work or not
    Organization Security Restrictions::
    Each organization may have restriction on using client certificates for security reasons . One such restriction is when a user requests a client certificate a password prompt is displayed . A client certificate can be used only if the correct password is provided
    becuase Biztalk Server uses services and services cannot interact with dialog boxes so do not use client certificates requiring password validation.
    To Prevent the issue , configure the policy so no password are prompted when a certificate is used this setting is enforced by the Group policy Object (GPO) system cryptography: Force strong Key protection for user keys stored on the computer . If setting
    this policy , then the value should be set to "User input is not required when new keys are stored and used "
    Kindly let us know whether setting needs to be done in the system cryptography
    Thanks

  • Consume External Web Service (WSDL) in ABAP (Release 700) - Proxy Error

    Hi All,
    Have a requirement to Consume an External Web Service in ABAP. We have the WSDL for Ext. Web Service.
    Did some research and came across the link:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/69/8a1e9553dc4baba6026a3db510cadb/content.htm
    First tried to generate a 'Consumer Proxy'. Since external WSDL, used SE80 to generate the Consumer Proxy.
    But finally got Error Msg 'Incorrect value: XSD name space not available'! Could you please let me know:
    1) What is causing this error and how to rectify it?
    2) Is it possible to view the Proxy that I had created (which is in error)? is there a Proxy Editor?

    Hy Brad, I got the same error by trying to generate a 'Consumer Proxy' from a external WSDL. u2019Incorrect value: XSD name space not available'. I have solved it in this way: The report RSSIDL_DESERIALIZE_DEMO has the same check routines as the R3-Proxy Generator. I debugged this report using a saved external WSDL and compared it with using a saved WSDL (Server) generated under /nse80.
    -> In the WSDL, in part message the "type" isnu2019t allowed, because the dezerialization is done already.
    Coding, not working:
    <xsd:complexType name="OrderRequestMsg">
      <xsd:sequence>
         <xsd:element name="shop" type="xsd:string"/>
          u2026
      </xsd:sequence>
    </xsd:complexType>
    <message name=" OrderRequest">
      <part name="input" type=" tns:OrderRequestMsg"/>
    </message>
    Coding, working::
    <xsd:element name="OrderRequestMsg">
        <xsd:complexType>
           <xsd:sequence>
            <xsd:element name="shop" type="xsd:string"/>
       </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
    <message name="OrderRequest">
         <part name="input" element="tns:OrderRequestMsg"/>
    </message>

  • External web service call from WebDynpro for ABAP

    Hi...
    I'm inspecting Web Dynpro For ABAP, and trying to call external web services.
    I'm created Web Service, CAF-AS.
    I create the proxy class(se80) and Logical Port(lpconfig), and I take the web service in componentcontoroller of my web dynpro using Web Dynpro Wiserd.
    Though I expected the context to be registered by the same type as the service interface,
    they are created strange structure as follow.
    <Context>
    CONTEXT
    ---FIND_BY_PARAMS
    IMPORTING
    INPUT
    CONTROLLER
    ORDER_TEXT_BY_PARAMS_REQ
    ---EXPORTING
    OUTPUT
    CONTROLLER
    ORDER_TEXT_BY_PARAMS_RES
    The CONTOROLLER is defined by the type PRXCTRLTAB, and
    ORDER_TEXT_BY_PARAMS_* has deep structure, as follow.
    ORDER_TEXT_BY_PARAMS_REQ
    ---CONTROLLER    type:PRXCTRLTAB(structure)
    ---QUERY_TABLE  type:ZTABLE_NAME
    ---QUERY_FIELD   type:ZFIELD_NAME
    ---QUERY_OPTIONS  type:ZORDER_TEXT_QUERY_OPTION_TAB
    I want to use only service paralmeters,  that is named query_*.
    I tried to excute the webService but dump  "OBJECTS_OBJREF_NOT_ASSIGNED" occurs.
    I think I must set any value to CONTOROLLER,?but I have no idea What & How I should set value.
    please let me know, what is the CONTOROLLER, and how to call external web services.
    Regards,
    Naoya Tsugo,

    I solved problem by myself.
    There was carelessmiss in activation of LP.
    Now, I'm closing the topic.
    Thanks and Regards.
    Naoya Tsugo,

Maybe you are looking for

  • 23in monitor compatibility with 12 in G4 Powerbook

    Hello, I've got a 12in Powerbook and I want to buy an external flat panel monitor to use with it. Can anyone tell me if my little Powerbook can handle driving a 23in monitor? The monitor spec says it needs a DVI. My computer has a mini-DVI, and I kno

  • Internet connected according to Network Diagnostic but Safari can't connect

    I just bought a new iMac in Australia yesterday; when I brought it back home and connected the ethernet cable to it I thought it would automatically connect to the internet as my other family members' Macs have in their homes, and as my old PC did. U

  • Accepting Credit Cards

    Greetings, Scenario : I have a business that seeks to use Skype Business for numerous Skype users to be allocated and regulated from one business account : : : as well seeks to have the capability to charge credit cards (through Skype if applicable)

  • Error Java when installing DCNM 6.3

    Hi my friend: Some have this problem when installing DCNM 6.3 on windows 2012 R2 standard java 8.0 Thank for all Marco.

  • Different page heights

    I have a website whose pages are pretty much the same height, however, I have 3 pages that are considerably longer than the others.  It uses an accordion spry that has about 15 tabbed panels.  When I expand some of the content areas of the spry panel