Quantcast
Channel: SCN : Unanswered Discussions - Service-Oriented Architecture (SOA) and SAP
Viewing all 360 articles
Browse latest View live

How to use XML signatures for WS consumer proxies?

$
0
0

I have a WSDL from a remote system that I used to create a web service consumer proxy (via SE80). Configuration of the logical port via SOAMANAGER worked fine, I can connect to the remote web service.

 

However, I need to sign the XML of my requests with our server certificate. According to the SAP docs for that I need to enable WS security in the "Operations" tab of the port configuration in SOAMANAGER. Problem is: there is no such security section there, no options to set.

 

Where can I set the certificate to use for signing the XML messages sent by the consumer proxy?


Creating Succesfactors Logical Port via WSDL

$
0
0

Hi!

 

We are trying to consume the following WSDL  https://salesdemo4.successfactors.com/sfapi/v1/soap12?wsdl via Enterprise Services in SE80.

 

WORKING:

We do this in the following manor: SE80 -> Create -> New Enterprise Services -> Service Consumer -> External WSDL -> URL -> https://salesdemo4.successfactors.com/sfapi/v1/soap12?wsdl

 

This returns the following error:

 

Exception occurred in communication framework:Error in HTTP Framework:500SSL Peer Certificate Untrustedhttps://salesdemo4.successfactors.com/sfapi/v1/soap12?wsdl

 

So we download the file locally and use file upload to get it to work and it does work after using file upload.

 

PROBLEM:

Now we still need an Logical Port to be created via SOAMANAGER.

 

So we go to SOAMANAGER -> Web Service Configuration -> Our consumer proxy "SFAPI12" -> Create WSDL based configuration -> Fill out Logic Port Name ->

 

Then we try the same approach by pasting the URL https://salesdemo4.successfactors.com/sfapi/v1/soap12?wsdl but this again returns: SRT Framework exception: Error in WSDL access: Exception occurred in communication framework:Error in HTTP Framework:500SSL Peer Certificate Untrustedhttps://salesdemo4.successfactors.com/sfapi/v1/soap12?wsdl

 

We try file upload WSDL with the same file as we created the Proxy (this file is located in attachments) and this returns error:

SRT Framework exception: Error in WSDL parsing: Exception occurred in library handler


 

Does anyone have any suggestions why this file works in Enterprise Services but not in SOAMANAGER?

Quest to find a replacement for SOA workplace

$
0
0


Moin everybody

 

http://esworkplace.sap.com is discontinued, and the replacement links provided on that page don't really help.

Is there any alternative that provides the much-needed link between backend BO objects/BAPIs/data elements/tables and the matching business objects and services?

 

I also searched for „ES Workplace“ in help.sap.com , leading to the also discontinued http:/help.sap.com/content/documentation/esoa

And the "Dicsovery System" linked in this group seems also discontinued.

 

So I'm pretty much out of options where to search.

Any ideas? Anybody?

Best regards, Ingo

"RABAX" occurs on server side error while testing asynchoronous web service

$
0
0

I got error while testing asynchronous web service in WS navigator. I have created asynchronouse web service using RFC. Then I configured it in SOAMANAGER. When I tested it, got error "RABAX occurs on server side". Also I got dump in ST22. It is 'UNCHAUGHT_EXCEPTION - CX_SOAP_SEQ_SCD_ERROR'.

 

I have tested for synchronous web service it works fine.  I found a difference in both web service WSDL file for below parameters value -

commit

blocking

transaction

wsrm

 

I tried different way .. but no solution .. Plz suggest if someone have any idea.....Its very helpfull....

Webservice navigator is not displaying

$
0
0

Hi techies,

 

I'm unable to test the webservice from T-code->SOAMANAGER via "Open Webservice navigator for selected binding".

The link is not opening.

 

Issue with webservice: I have modified a table of a custom RFC and created a new web-service for the same.

Data is not flowing between SAP & External application or vice versa for newly enhanced(added) fields in the table.

 

Could you please let me know the possible issues?

Webservice timeout

$
0
0

Hi all,

 

I try to get know how to set time out parameter for access on webservice created in SAP side.

 

Now when someone send query to WS then after 3 minutes will be time out of execution.

 

Thanx for any advices how to configure it.

Unable to add custom SOAP header to consumer webservice in CRM( without using PI)

$
0
0

Hello Experts,

 

We have a requirement to consume webservice proxy in CRM without involving PI. We have WSDL file which has many services as depicted in the first screenshot.After checking old posts, I could add custom SOAP header by using if_wsprotocol_ws_header and there is no xml parsing error for ws_header.Have used if_ixml_stream_factory to check xml parsing error for header.

 

'<soapenv:Header>'

'<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'

'<wsse:UsernameToken wsu:Id="UsernameToken-2">'

            '<wsse:Username>user id</wsse:Username>'

            '<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">paswd</wsse:Password>'

            '<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">MT0B9XFzsZJXXKmVKOsj/Q==</wsse:Nonce>'

            '<wsu:Created>2015-03-30T06:29:17.407Z</wsu:Created>'

'</wsse:UsernameToken>'

'</wsse:Security>'

'</soapenv:Header>' INTO l_string.

 

But when my ABAP program as a whole gets executed where consumer proxy is called, then it still throws XML parsing error - undeclared namespace prefix. As mentioned, there is no parsing error for header and WSDL file as a whole in SOAP UI tool works fine,by manually adding SOAP header.

 

Have configured SOAMANAGER with logical port.Or any wrong setting in SOAMANAGER can cause this issue? When I tested webservice ping, it gave me attached error but I read in a SAP note that such error can be ignored.

 

I want to know if some more setting/coding is required if we manually add custom header to a payload? Is PI really required to implement this requirement? Payload mapping has to be done to add custom header and if that can be taken care by ABAP coding and how?

 

WSDL.PNG

 

SOAMANAGER_Messaging tab.PNGSOAMANAGER_Transport settings.PNGSOA_Operation settings.PNGSOA_webservice ping.PNG

 

 

Can you please help?

 

BR,

Nisha Verma

Error in logical port while connecting to SAP CRM cloud

$
0
0

Dear Members,

 

I have created a logical port manually to connect to SAP CRM cloud system. But when I ping the web service I am getting below error. Please let me know how to solve this error.

 

SRT Framework exception: Service Ping ERROR: Error when calling SOAP Runtime functions: SRT: Couldn't create Object: ("ICF Error when creating HTTP client object by Config for URL <WSDL URL>


Consuming Webservices Exception occurred in communication framework:Error in HTTP Framework:404conn

$
0
0

Hi

 

I am trying to  consume Webservices of external WSDL url http://202.83.160.22/WS-crpl-9001/ws-crpl-9001.asmx?wsdl  in sap which is located outside the  local sap network, When i tried to create client proxy by going to se80 and after completing the required steps it gives me error of Exception occurred in communication framework:Error in HTTP Framework:404conn,

Its Been a two week that i am trying to figure out this error  I already posted the question on Scn last week but no body bothers to answer me,

I tired All suggestion and way out that different sites suggest like by going on to tocde Sicf -> client ->proxy setting ->https log and give the host name and port no of system where these wsdl file actually located, I also tried to save this url  locally  on my desktop and then I gives me error of Exception occurred in library handler Incorrect value: Unknown Namespace http://www.w3.org/2001/XMLSchema

 

Please Please help me I have done lot of search spent lot of nights to figure it out but couldnot be able to fix please give some way to solve this issue as I am in a real trouble

 

Waiting for your Responses.

 

 

Regards

Calling a SharePoint Web Service from SAP??

Webservices return error NosuchMethod

$
0
0

Hi Masters.

 

I am very new in WebServices and WEBDYNPROS on Java.

 

I generated an Webservices to connect to MDM repository that generation finished OK .


the problem is when I trying to executes that WS since SOAIU editor always return the next message of error

 

the xlsd I am testing is :

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ZWS_VENDOR_MDMVi" xmlns:urn1="urn:com.sap.mdm.ws.beans.zws_vendor_mdm" xmlns:urn2="urn:com.sap.mdm.ws.beans" xmlns:urn3="urn:com.sap.mdm.core.beans">

   <soapenv:Header/>

   <soapenv:Body>

      <urn:searchMDM_VENDORS>

         <urn:query>

            <!--Optional:-->

            <urn1:criteria>

               <!--Zero or more repetitions:-->

               <urn1:namedSearchCriteria></urn1:namedSearchCriteria>

               <!--Zero or more repetitions:-->

               <urn1:maskCriteria>1</urn1:maskCriteria>

               <!--Optional:-->

               <urn1:logicalOperator>1</urn1:logicalOperator>

               <!--Optional:-->

               <urn1:keywordCriteria>

                  <!--Optional:-->

                  <urn2:value>1</urn2:value>

                  <!--Optional:-->

                  <urn2:expressionOperator>1</urn2:expressionOperator>

               </urn1:keywordCriteria>

               <!--Optional:-->

               <urn1:mDM_VENDOR_NUMBER>

                  <!--Optional:-->

                  <urn2:logicalOperator></urn2:logicalOperator>

                  <!--Zero or more repetitions:-->

                  <urn2:constraint>

 

                     <!--Optional:-->

                     <urn2:value>4300024</urn2:value>

                     <!--Optional:-->

                     <urn2:expressionOperator>EQUALS</urn2:expressionOperator>

                  </urn2:constraint>

               </urn1:mDM_VENDOR_NUMBER>

            </urn1:criteria>

            <!--Optional:-->

            <urn1:resultDefinition>

 

 

            <urn2:fieldListType>ALL</urn2:fieldListType>

         <urn2:retrieveKeyMapping>false</urn2:retrieveKeyMapping>

         <urn2:loadAttributes>false</urn2:loadAttributes>

         <urn2:pageNumber>1</urn2:pageNumber>

         <urn2:pageSize>100</urn2:pageSize>

            </urn1:resultDefinition>

         </urn:query>

         <urn:reposInfo>

            <!--Optional:-->

            <urn3:dataLang>English [US]</urn3:dataLang>

            <!--Optional:-->

            <urn3:destinationName>MDM_Destination</urn3:destinationName>

            <!--Optional:-->

            <urn3:repositoryName>VENDOR_CATALOG</urn3:repositoryName>

            <!--Optional:-->

            <urn3:secureConnection>false</urn3:secureConnection>

            <!--Optional:-->

            <urn3:serverName>led1.la.holcim.net</urn3:serverName>

         </urn:reposInfo>

      </urn:searchMDM_VENDORS>

   </soapenv:Body>

</soapenv:Envelope>

 

 

 

 

the error WS is returned .

 

 

 

  <SOAP-ENV:Body xmlns:rpl="urn:ZWS_VENDOR_MDMVi">

      <rpl:searchMDM_VENDORSResponse xmlns:rn0="java:sap/standard" xmlns:rn1="urn:com.sap.mdm.ws.beans" xmlns:rn2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rn3="urn:com.sap.mdm.core.base" xmlns:rn4="urn:com.sap.mdm.ws.beans.zws_vendor_mdm" xmlns:rn5="urn:com.sap.mdm.core.beans">

         <Response>

            <rn1:executionStatus>

               <rn1:status>Fault</rn1:status>

               <rn1:description>com.sap.mdm.extension.session.ConnectionManagerEx.getMdmDestinationProperties(Ljava/lang/String;)Lcom/sap/mdm/session/NetWeaverMdmDestinationProperties;</rn1:description>

               <rn1:fault>

                  <rn1:severity>Error</rn1:severity>

                  <rn1:text>java.lang.NoSuchMethodError: com.sap.mdm.extension.session.ConnectionManagerEx.getMdmDestinationProperties(Ljava/lang/String;)Lcom/sap/mdm/session/NetWeaverMdmDestinationProperties;

  at com.sap.mdm.ws.data.connection.AbstractWSConnectionManager.createUserSessionContextFromDestination(AbstractWSConnectionManager.java:101)

  at com.sap.mdm.ws.data.connection.BasicAuthenticationConnectionManagerImpl.createAuthenticatedSessionCtx(BasicAuthenticationConnectionManagerImpl.java:72)

  at com.sap.mdm.ws.data.EJBGateWay.createConnection(EJBGateWay.java:404)

  at com.sap.mdm.ws.data.EJBGateWay.executeOperation(EJBGateWay.java:210)

  at com.sap.mdm.ws.data.EJBGateWay.executeOperation(EJBGateWay.java:147)

  at com.sap.mdm.ws.gen.ejbs.ZWS_VENDOR_MDMBean.searchMDM_VENDORS(ZWS_VENDOR_MDMBean.java:47)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

 

 

any idea which is the problem . thanks in advaned.

Can universe connect to restful web service which is not soap based

$
0
0

Can universe connect to restful webservice? I know it is allowed to connect to SOAP webservice. Currently is using WSDL1.1.

 

How about restful web service which does not have any wsdl file?

Error while Consuming webservies : incorrect value: unknown namespace http://www.w3.org/2001/xmlschema

$
0
0

Hi guys,

 

I am trying to consume External web services url  http://172.31.3.48:8717/?wsdl from se80 - enterprise services - client proxy etc, which is located on our local server , but it giving me a error "liberary haldler exception"  " incorrect value: unknown namespace http://www.w3.org/2001/xmlschemaI AM trying to solve this issue from last one week but failed to fix it,

 

please help me

 

here is  my wsdl url http://172.31.3.48:8717/?wsdl (located locally)

 

<wsdl:definitionsxmlns:s="http://www.w3.org/2001/XMLSchema"xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:tns="http://tempuri.org/"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"targetNamespace="http://tempuri.org/">

 

 

<wsdl:types>

 

 

<s:schemaelementFormDefault="qualified"targetNamespace="http://tempuri.org/">

 

 

<s:elementname="GetData">

 

 

<s:complexType>

 

 

<s:sequence>

 

 

<s:elementminOccurs="0"maxOccurs="1"name="user"type="s:string"/>

 

<s:elementminOccurs="0"maxOccurs="1"name="pass"type="s:string"/>

<s:elementminOccurs="0"maxOccurs="1"name="fromdate"type="s:string"/>

<s:elementminOccurs="0"maxOccurs="1"name="todate"type="s:string"/>

</s:sequence>

</s:complexType>

</s:element>

 

<s:elementname="GetDataResponse">

 

 

<s:complexType>

 

 

<s:sequence>

 

 

<s:elementminOccurs="0"maxOccurs="1"name="GetDataResult">

 

 

<s:complexType>

 

 

<s:sequence>

 

 

<s:elementref="s:schema"/>

 

<s:any/>

</s:sequence>

</s:complexType>

</s:element>

</s:sequence>

</s:complexType>

</s:element>

</s:schema>

</wsdl:types>

 

<wsdl:messagename="GetDataSoapIn">

 

 

<wsdl:partname="parameters"element="tns:GetData"/>

 

</wsdl:message>

 

<wsdl:messagename="GetDataSoapOut">

 

 

<wsdl:partname="parameters"element="tns:GetDataResponse"/>

 

</wsdl:message>

 

<wsdl:portTypename="WSCRPL9001Soap">

 

 

<wsdl:operationname="GetData">

 

 

<wsdl:inputmessage="tns:GetDataSoapIn"/>

 

<wsdl:outputmessage="tns:GetDataSoapOut"/>

</wsdl:operation>

</wsdl:portType>

 

<wsdl:bindingname="WSCRPL9001Soap"type="tns:WSCRPL9001Soap">

 

 

<soap:bindingtransport="http://schemas.xmlsoap.org/soap/http"/>

 

 

<wsdl:operationname="GetData">

 

 

<soap:operationsoapAction="http://tempuri.org/GetData"style="document"/>

 

 

<wsdl:input>

 

 

<soap:bodyuse="literal"/>

 

</wsdl:input>

 

<wsdl:output>

 

 

<soap:bodyuse="literal"/>

 

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

 

<wsdl:bindingname="WSCRPL9001Soap12"type="tns:WSCRPL9001Soap">

 

 

<soap12:bindingtransport="http://schemas.xmlsoap.org/soap/http"/>

 

 

<wsdl:operationname="GetData">

 

 

<soap12:operationsoapAction="http://tempuri.org/GetData"style="document"/>

 

 

<wsdl:input>

 

 

<soap12:bodyuse="literal"/>

 

</wsdl:input>

 

<wsdl:output>

 

 

<soap12:bodyuse="literal"/>

 

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

 

<wsdl:servicename="WSCRPL9001">

 

 

<wsdl:portname="WSCRPL9001Soap"binding="tns:WSCRPL9001Soap">

 

 

<soap:addresslocation="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>

 

</wsdl:port>

 

<wsdl:portname="WSCRPL9001Soap12"binding="tns:WSCRPL9001Soap12">

 

 

<soap12:addresslocation="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>

 

</wsdl:port>

</wsdl:service>

</wsdl:definitions>


Waiting for your response

Regards

 

incorrect value: unknown namespace http://www.w3.org/2001/xmlschema

$
0
0

Hello

I am trying to consume External web services url  http://172.31.3.48:8717/?wsdl from se80 - enterprise services - client proxy etc, which is located on our local server , but it giving me a error "liberary haldler exception"  " incorrect value: unknown namespace http://www.w3.org/2001/xmlschema"  I AM trying to solve this issue from last one week but failed to fix it, please help me I have already posted this question but no one replied to me,

 

your help will be appreciated.

 

Given below is my Wsdl file.

 

<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/">

  <wsdl:types>

  <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">

  <s:element name="GetData">

  <s:complexType>

  <s:sequence>

  <s:element minOccurs="0" maxOccurs="1" name="user" type="s:string"/>

  <s:element minOccurs="0" maxOccurs="1" name="pass" type="s:string"/>

  <s:element minOccurs="0" maxOccurs="1" name="fromdate" type="s:string"/>

  <s:element minOccurs="0" maxOccurs="1" name="todate" type="s:string"/>

  </s:sequence>

  </s:complexType>

  </s:element>

  <s:element name="GetDataResponse">

  <s:complexType>

  <s:sequence>

  <s:element minOccurs="0" maxOccurs="1" name="GetDataResult">

  <s:complexType>

  <s:sequence>

  <s:element ref="s:schema"/>

  <s:any/>

  </s:sequence>

  </s:complexType>

  </s:element>

  </s:sequence>

  </s:complexType>

  </s:element>

  </s:schema>

  </wsdl:types>

  <wsdl:message name="GetDataSoapIn">

  <wsdl:part name="parameters" element="tns:GetData"/>

  </wsdl:message>

  <wsdl:message name="GetDataSoapOut">

  <wsdl:part name="parameters" element="tns:GetDataResponse"/>

  </wsdl:message>

  <wsdl:portType name="WSCRPL9001Soap">

  <wsdl:operation name="GetData">

  <wsdl:input message="tns:GetDataSoapIn"/>

  <wsdl:output message="tns:GetDataSoapOut"/>

  </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding name="WSCRPL9001Soap" type="tns:WSCRPL9001Soap">

  <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>

  <wsdl:operation name="GetData">

  <soap:operation soapAction="http://tempuri.org/GetData" style="document"/>

  <wsdl:input>

  <soap:body use="literal"/>

  </wsdl:input>

  <wsdl:output>

  <soap:body use="literal"/>

  </wsdl:output>

  </wsdl:operation>

  </wsdl:binding>

  <wsdl:binding name="WSCRPL9001Soap12" type="tns:WSCRPL9001Soap">

  <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>

  <wsdl:operation name="GetData">

  <soap12:operation soapAction="http://tempuri.org/GetData" style="document"/>

  <wsdl:input>

  <soap12:body use="literal"/>

  </wsdl:input>

  <wsdl:output>

  <soap12:body use="literal"/>

  </wsdl:output>

  </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="WSCRPL9001">

  <wsdl:port name="WSCRPL9001Soap" binding="tns:WSCRPL9001Soap">

  <soap:address location="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>

  </wsdl:port>

  <wsdl:port name="WSCRPL9001Soap12" binding="tns:WSCRPL9001Soap12">

  <soap12:address location="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>

  </wsdl:port>

  </wsdl:service>

</wsdl:definitions>

SOAMANAGER Monitoring

$
0
0

Hi Expert,

 

Can you please help me how to monitor message flow using SOAMANAGER.

 

We are designing interfaces which will connect SAP ECC and TIBCO using webservice using SOAMANAGER.

 

I need to know what all places in SAP ECC and SOAMANAGER we can monitor the flow of messages.

 

 

These are places where I know to monitor.

In SOAMANAGER we two tabs for monitoring : Logs & Traces and Monitoring

 

1. I have done configuration and can see logs in Logs & Traces->Web Service Configuration Log .

    But could not find any traces in SOA Runtime Log/Trace Viewer

 

2. In monitoring tab, we have Message Monitoring and Sequence Monitoring   

 

 

But i could not find anything. It logs into SAP system but i don't know which transaction i should go.

 

 

I checked in SXMB_MONI but could not find anything.

 

 

Please let me know the monitoring process when we design interfaces in SOAMANAGER.

 

Regards,

Vicky


Unable to connect to Salesforce using webservices (SOAP protocol)

$
0
0

Hi Team,

 

Our requirement is to consume Sales force WSDL (SOAP) with out PI involvement. We are having two WSDL's, one for Login to Salesforce and second one to exchange data.

We have created consumer service and logical port's. A proxy class with few methods is generated as expected.

The first consumer service for login is working fine. When we login, it returns the session ID which is valid for 2 hours. We tried to pass the session ID using the below code and then call the second service. It then gives error 'INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session'.

 

Could you please let us know what am I missing? Is my approach correct?

Thanks in advance!

 

I have gone through the below links:

Web Services Security using ABAP Proxies

Consume SOAP WebService by SAP and add custom Header - Java Development - SCN Wiki

 

DATA:   lr_login            TYPE REF TO zlogin,

        lr_action           TYPE REF TO zexc,

        ls_request          TYPE        zlogin_request,

        ls_response         TYPE        zlogin_response,

        ls_header           TYPE REF TO if_wsprotocol_ws_header,

        lr_system_fault     TYPE REF TO cx_ai_system_fault,

        lr_flight_not_found TYPE REF TO cx_sxidag_flight_not_found,

        lv_name             TYPE        string,

        lv_namespace        TYPE        string,

        lr_ixml             TYPE REF TO if_ixml,

        lr_xml_document     TYPE REF TO if_ixml_document,

        lr_xml_root         TYPE REF TO if_ixml_element,

        lr_xml_element      TYPE REF TO if_ixml_element,

        lr_xml_node         TYPE REF TO if_ixml_node,

        lv_xstring          TYPE        xstring,

        lv_string           TYPE        string,

        ls_disp_req         TYPE        zexc_reque,

        ls_disp_resp        TYPE        zexc_respo.

 

 

TRY.

    CREATE OBJECT lr_login

      EXPORTING

        logical_port_name = 'ZLOGIN_PORT'.

  CATCH cx_ai_system_fault INTO lr_system_fault.

ENDTRY.

 

 

ls_request-username = 'zzz.abc.com'.

ls_request-password = 'abcde123'.

 

 

TRY.

    CALL METHOD lr_login->login

      EXPORTING

        input  = ls_request

      IMPORTING

        output = ls_response.

  CATCH cx_ai_system_fault INTO lr_system_fault.

    WRITE:/ 'System Fault'(sye). WRITE:/ lr_system_fault->errortext. EXIT.

 

 

  CATCH zsfcx_login_fault .

    WRITE:/ 'Login Fault'. EXIT.

  CATCH zsfcx_unexpected_error_fault .

    WRITE:/ 'Unexpected Error'. EXIT.

  CATCH zsfcx_invalid_id_fault .

    WRITE:/ 'Invalid Fault'. EXIT.

  CATCH cx_ai_application_fault .

    WRITE:/

  'Application fault'(apf).

    EXIT.

 

 

ENDTRY.

 

 

IF ls_response-result-session_id IS NOT INITIAL.

  TRY.

* create instance

      CREATE OBJECT lr_action

        EXPORTING

          logical_port_name = 'ZEXC_PORT'.

* get ws_header protocol

      ls_header ?= lr_action->get_protocol('IF_WSPROTOCOL_WS_HEADER').

 

 

      CONCATENATE

'<Soap:Header>'

'<ns2:session xmlns:ns2="https://salesforce.com/services/Soap/c/00Dc0000003ue9S">'

'<SessionID>'ls_response-result-session_id'</SessionID>'

'</ns2:session>'

'</Soap:Header>'

       INTO lv_string.

* convert to xstring

      lv_xstring = cl_proxy_service=>cstring2xstring( lv_string ).

      IF NOT lv_xstring IS INITIAL.

* create ixml dom document from xml xstring

        CALL FUNCTION 'SDIXML_XML_TO_DOM'

          EXPORTING

            xml           = lv_xstring

          IMPORTING

            document      = lr_xml_document

          EXCEPTIONS

            invalid_input = 1

            OTHERS        = 2.

        IF sy-subrc = 0 AND NOT lr_xml_document IS INITIAL.

          lr_xml_root = lr_xml_document->get_root_element( ).

          lr_xml_element ?= lr_xml_root->get_first_child( ).

* add header element by element to soap header

          WHILE NOT lr_xml_element IS INITIAL.

            lv_name = lr_xml_element->get_name( ).

            lv_namespace = lr_xml_element->get_namespace_uri( ).

            ls_header->set_request_header( name = lv_name namespace = lv_namespace dom = lr_xml_element ).

            lr_xml_element ?= lr_xml_element->get_next( ).

          ENDWHILE.

        ENDIF.

      ENDIF.

* call outbound

 

      ls_disp_req-data-account_phone        = '123-456-7890'.

      ls_disp_req-data-billing_city         = 'HOUSTON'.

      ls_disp_req-data-billing_postal_code  = '77070'.

      ls_disp_req-data-billing_state        = 'TX'.

      ls_disp_req-data-billing_street       = 'Willow Chase'.

      ls_disp_req-data-check                = '34567'.

      ls_disp_req-data-reason_code          = 'Test'.

      ls_disp_req-data-salutation           = 'Mr.'.

      ls_disp_req-data-subject              = 'Amount not received'.

 

      TRY.

          CALL METHOD lr_action->insert_apdispute_case

            EXPORTING

              input  = ls_disp_req

            IMPORTING

              output = ls_disp_resp.

        CATCH cx_ai_system_fault INTO lr_system_fault.

          WRITE:/ 'System Fault'(sye). WRITE:/ lr_system_fault->errortext. EXIT.

        CATCH cx_ai_application_fault .

          WRITE:/

        'Application fault'(apf).

          EXIT.

      ENDTRY.

 

 

    CATCH cx_ai_system_fault INTO lr_system_fault.

      WRITE:/ 'System Fault'(sye). WRITE:/ lr_system_fault->errortext. EXIT.

    CATCH cx_ai_application_fault .

      WRITE:/

    'Application fault'(apf).

      EXIT.

  ENDTRY.

 

ENDIF.

 

Regards,

Aravind

incorrect value: unknown namespace http://www.w3.org/2001/xmlschema

$
0
0

Hello

I am trying to consume External web services url  http://172.31.3.48:8717/?wsdl from se80 - enterprise services - client proxy etc, which is located on our local server , but it giving me a error "liberary haldler exception"  " incorrect value: unknown namespace http://www.w3.org/2001/xmlschema"  I AM trying to solve this issue from last one week but failed to fix it, please help me I have already posted this question but no one replied to me,

 

your help will be appreciated.

 

Given below is my Wsdl file.

 

<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/">

  <wsdl:types>

  <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">

  <s:element name="GetData">

  <s:complexType>

  <s:sequence>

  <s:element minOccurs="0" maxOccurs="1" name="user" type="s:string"/>

  <s:element minOccurs="0" maxOccurs="1" name="pass" type="s:string"/>

  <s:element minOccurs="0" maxOccurs="1" name="fromdate" type="s:string"/>

  <s:element minOccurs="0" maxOccurs="1" name="todate" type="s:string"/>

  </s:sequence>

  </s:complexType>

  </s:element>

  <s:element name="GetDataResponse">

  <s:complexType>

  <s:sequence>

  <s:element minOccurs="0" maxOccurs="1" name="GetDataResult">

  <s:complexType>

  <s:sequence>

  <s:element ref="s:schema"/>

  <s:any/>

  </s:sequence>

  </s:complexType>

  </s:element>

  </s:sequence>

  </s:complexType>

  </s:element>

  </s:schema>

  </wsdl:types>

  <wsdl:message name="GetDataSoapIn">

  <wsdl:part name="parameters" element="tns:GetData"/>

  </wsdl:message>

  <wsdl:message name="GetDataSoapOut">

  <wsdl:part name="parameters" element="tns:GetDataResponse"/>

  </wsdl:message>

  <wsdl:portType name="WSCRPL9001Soap">

  <wsdl:operation name="GetData">

  <wsdl:input message="tns:GetDataSoapIn"/>

  <wsdl:output message="tns:GetDataSoapOut"/>

  </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding name="WSCRPL9001Soap" type="tns:WSCRPL9001Soap">

  <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>

  <wsdl:operation name="GetData">

  <soap:operation soapAction="http://tempuri.org/GetData" style="document"/>

  <wsdl:input>

  <soap:body use="literal"/>

  </wsdl:input>

  <wsdl:output>

  <soap:body use="literal"/>

  </wsdl:output>

  </wsdl:operation>

  </wsdl:binding>

  <wsdl:binding name="WSCRPL9001Soap12" type="tns:WSCRPL9001Soap">

  <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>

  <wsdl:operation name="GetData">

  <soap12:operation soapAction="http://tempuri.org/GetData" style="document"/>

  <wsdl:input>

  <soap12:body use="literal"/>

  </wsdl:input>

  <wsdl:output>

  <soap12:body use="literal"/>

  </wsdl:output>

  </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="WSCRPL9001">

  <wsdl:port name="WSCRPL9001Soap" binding="tns:WSCRPL9001Soap">

  <soap:address location="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>

  </wsdl:port>

  <wsdl:port name="WSCRPL9001Soap12" binding="tns:WSCRPL9001Soap12">

  <soap12:address location="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>

  </wsdl:port>

  </wsdl:service>

</wsdl:definitions>

Error "Sap fault code3 soap header To was not understood" While testing Consumer webservies

$
0
0

Hello

 

I have encountered a problem when I test my external consumer web service from Se80 by pressing f8 it gives me error of Sap fault code3 soap header To was not understood  ,  then I Went to soamanager tcode and see the log and traces it  gives me  different error which are attached given below.

 

  Here is my Xml test ws consume dispaly request

 

-    <n0:GetData xmlns:n0="http://tempuri.org/">
  <n0:user>us9001</n0:user>

<n0:pass>us0001</n0:pass>

  <n0:fromdate>31.12.2010</n0:fromdate>

  <n0:todate>31.12.2011</n0:todate>

  </n0:GetData>   

                                                          

     In return it gives Sap fault code3 soap header To was not understood.


     And here is attached log traces of soamanager :

sa.png

 

 

logs and tracing from soamanager please help me


  se.png

Tcode Soamanager not shown tab "Service Administration"

$
0
0

Pleaseyourhelp I amusing the following steps.

 

1-TCodesoamanager

2- Just showthe following

14-04-2015 15-06-41.jpg

3- but Ineed to get to

   * Tab: Service Administration

              * Option: Web Service Configuration.

Example:

14-04-2015 15-09-24.jpg

Pleaseyourhelp

Call Webservice from inside an ABAP program

$
0
0

Hi Experts,

 

I have a file which contains 100 rows of Service Order data.In each row, I have service order no. and post code.

 

Now I have to call a webservice ( WSDL and URL will be provided by 3rd Party)for each of these service order records passing order no. and post code to the web service and store the response in a z-table.

 

Can I achieve this by creating an ABAP program ?I will schedule the program as a background batch job.

 

Next ,  I need to create a second ABAP program which will take the value stored in z-table and update the service order. This program will also be scheduled as a background batch job and run after the completion of first program.

 

 

Therefore, my question is how to call webservice from inside  ABAP program?

 

Any step by step document will be of great help.

 

Thanks

Ayan

Viewing all 360 articles
Browse latest View live




Latest Images