DAte field trouble consuming web service

Hi Guys
I have developed a Webservice from a FM.
When i try to test it it gives me the error deserialization failed. I think is due to the date fields.
How can i solve it?
Thanks!!
Jon

Hi Jon,
Change the format to the date fields (or any other field for that matter) to the format that is required by the FM. How are you testing the webservice? When testing the webservice from the Abap stack (specifically SPROXY for services designed in SAP PI) you get a test request structure that's automatically generated so you can see the required formats & then you can add your own customized variants. Do you perhaps similar when testing FM's?
Regards, Trevor

Similar Messages

  • How to reference complex data type when consuming web services in WAS 620?

    In WAS 620, I tried to consume a web service in ABAP. I was successful when the web service returned one or more simple data type. But when the web service is changed to return a complex data type (eg. a structure with 3 elements), the call to the web service did not return anything.
    Do any of you know how to reference the individual element in the structure of an output parameter in a web service? I use the add_parameter method of the CSoapDocument class to identify the output parameters.
    Here is part of the WSDL file:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s0="urn:sap-com:document:sap:rfc:functions" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="urn:sap-com:document:sap:rfc:functions">
    - <types>
    - <xsd:schema targetNamespace="urn:sap-com:document:sap:rfc:functions">
    - <xsd:element name="Z_SRM_SOAP_TEST_COMPLEX">
    - <xsd:complexType>
    - <xsd:all>
    - <xsd:element name="INTEXT">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
      </xsd:all>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="Z_SRM_SOAP_TEST_COMPLEX.Response">
    - <xsd:complexType>
    - <xsd:all>
      <xsd:element name="OUTTEXT" type="s0:ZSRM_TEST_STRUCT" />
      </xsd:all>
      </xsd:complexType>
      </xsd:element>
    - <xsd:complexType name="ZSRM_TEST_STRUCT">
    - <xsd:sequence>
    - <xsd:element name="ELEMENT1" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
    - <xsd:element name="ELEMENT2" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
    - <xsd:element name="ELEMENT3" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
      </xsd:sequence>
      </xsd:complexType>
      </xsd:schema>
      </types>

    Hi,
      [email protected] is my id and one more thing u by looking at the wsdl file u can know what al the parameters we have to give to the webservice so try it out also.
    Regards,
    Sirisha.

  • Complete newbie question - Can BI consume web services?

    Post Author: Steve Lamont
    CA Forum: Data Integration
    I am working on a new client site working on integration between a whole slew of systems including CRM, billing, BI etc.  The client is architecting a SOA oriented approach to all integration where it make sense.  As part of the effort, a new BI database is being built and loaded via some ETL tool.  The primary interface to access this new BI data will be business objects (BO).  Now, in the current environments, there are multiple, disparate BI systems containing various data.  The BO knowledge person (and he is not a business object employee) on this site is claiming that to access these other BI databases, he wants to do it by sending out requests via service calls.  I fully understand that BO itself can be set up to be a service provider and provide services for other consumers to take advantage of, but how does BO itself consume services provided by other applications?
    Obviously I don't fully understand BO, but my initial inclination is that this approach is wrong.  If data is required from these other BI source, wouldn't they be configured as data sources within business objects?  This BO guy claims that calling web services is more efficient that direct peer-to-peer calls via the database drivers.
    Can any share some comments on this situation?

    Post Author: bhofmans
    CA Forum: Data Integration
    You posted your question to the wrong forum, please try to post it to one of the subforums in "Enterprise Reporting, Query & Analysis".
    This forum is about Data Integrator, Business Objects ETL tool.
    I'll try to answer your question anyway with my reporting background From what I know, YES we can consume web services in reports (Crystal reports), but for larger volumes of data a direct access to the database would be faster. A webservice approach might make sense if the webservice implements some business logic (semantic layer) which would be easier then to go directly to the tables.
    And just for the record : also Data Integrator can consumer web services...

  • Data Services - Error Consuming Web Service from SAP CE

    Hello all,
    I developed a very quick sample real-time job in Data Services just to test the web services and connectivity between BoBJ DS and SAP CE.  The real-time job doesn't do anything fancy, just converts characters from lower case to upper case.  In SAP CE I am attempting to use the web service navigator to test the WSDL (http://localhost:28080/DataServices/servlet/webservices?ver=2.0&wsdlxml).  SAP CE correctly connects to the WSDL and gives me a selection list where I can drill down to Real-Time Services -> my real time job.  I put in some test data and execute the web service and I get the following error:
    Invalid transport binding settingsDocument is not well-formed: Expected End-tag 'MAIN', received:a, on position: 0 (:main:, row:1, col:0)
    The strange thing is that the HTTP response message shows that the service actually executed, because the data has been converted to upper case as it was supposed to.  Also, if I go into the Data Services Management Console it shows the service was executed with no errors.  The strange thing is that I notice something wrong when I look at the response message vs. the source message:
    Source:
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <pns:MAIN xmlns:pns="private">
          <pns:RECORD>
            <pns:NAME>Test Name</pns:NAME>
            <pns:NUMBER>Test1234</pns:NUMBER>
            <pns:ADDRESS>123 Testing Lane</pns:ADDRESS>
            <pns:CITY>Santa Clara</pns:CITY>
            <pns:STATE>CA</pns:STATE>
            <pns:POSTAL>95057</pns:POSTAL>
          </pns:RECORD>
        </pns:MAIN>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Target:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><MAIN xmlns="private" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents%20and%20Settings\TEMP\Desktop\Schema.xsd">
    <RECORD><NAME>TEST NAME</NAME>
    <NUMBER>TEST1234</NUMBER>
    <ADDRESS>123 TESTING LANE</ADDRESS>
    <CITY>SANTA CLARA</CITY>
    <STATE>CA</STATE>
    <POSTAL>95057</POSTAL>
    </RECORD>
    </aw:MAIN></soapenv:Body></soapenv:Envelope>
    If you notice in the target message the closing <MAIN> tag is preceded by "aw".  I'm not sure what this means, and I'm not sure where it's coming from, but I think it could have something to do with the error because it doesn't match the opening tag. 
    I'm not sure if this is something that is set in Data Services?  I've checked around quite a bit but I am stumped!  Can anyone help?

    what is the version of dataServices you are using ? there was a bug that was fixed related to this issue, if you are on 12.1 (DS XI 3.1) then use the latest 12.1 Fix Pack 12.1.1.7
    if you are on 12.2 (DS XI 3.2) then use the latest SP and FP 12.2.2.1

  • Consume web service in ABAP proxy with SOAP header

    Hi Thomas ,
    I am trying to consume web service in  ABAP . I have followed the procedure from one of your web blog <a href="/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap a Developer's Journal Part XIV - Consuming WebServices with ABAP</a> . (640 release).
    I need to pass SOAP header along with SOAP body. As you mentioned I have used if_wsprotocol_ws_header interface to pass header but it is still failing.
    Please see below code and please give some direction to fix the issue.
    1.Create ABAP proxy for WSDL (http://ws.strikeiron.com/SwanandMokashi/StockQuotes?WSDL). It has created structures only for SOAP body.
    2.Create Logical port
    3.Create following program to call proxy
    REPORT  zproxy.
    DATA: ref_stock TYPE REF TO zzco_stock_quotes_soap ,
          ws_header TYPE REF TO if_wsprotocol_ws_header,
          name TYPE string,
          namespace TYPE string.
    TRY.
        CREATE OBJECT ref_stock
      get WS_HEADER protocol
        ws_header ?= ref_stock->get_protocol('IF_WSPROTOCOL_WS_HEADER').
      set somehow header as iXML-DOM tree
        DATA: ixml TYPE REF TO if_ixml,
              xml_document TYPE REF TO if_ixml_document,
              xml_root TYPE REF TO if_ixml_element,
              xml_element TYPE REF TO if_ixml_element,
              xml_node TYPE REF TO if_ixml_node.
        DATA l_xstring        TYPE xstring.
        DATA l_string         TYPE string.
        FIELD-SYMBOLS <fs_xstring> TYPE xstring.
      Additional Header:
        CONCATENATE
    '<soap:Header>'
    '<s1:LicenseInfo xmlns:s1="http://ws.strikeiron.com">'
    '<s1:RegisteredUser>'
    '<s1:UserID>[email protected]</s1:UserID>'
    '<s1:Password>aaaaaaaa</s1:Password>'
    '</s1:RegisteredUser></s1:LicenseInfo>'
    '</soap:Header>' INTO l_string.
      convert to xstring
        l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
        IF NOT l_string IS INITIAL.
        create iXML DOM document from XML xstring
          CALL FUNCTION 'SDIXML_XML_TO_DOM'
            EXPORTING
              xml           = l_xstring
            IMPORTING
              document      = xml_document
            EXCEPTIONS
              invalid_input = 1
              OTHERS        = 2.
          IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
            xml_root = xml_document->get_root_element( ).
            xml_element ?= xml_root->get_first_child( ).
          add header element by element to SOAP header
            WHILE NOT xml_element IS INITIAL.
              name = xml_element->get_name( ).
              namespace = 'http://swanandmokashi.com' . "xml_element->get_namespace_uri( ).
              IF NOT xml_element IS INITIAL.
              ENDIF.
              ws_header->set_request_header(
                          name = name
                          namespace = namespace
                          dom = xml_element ).
              xml_element ?= xml_element->get_next( ).
            ENDWHILE.
          ENDIF.
        ENDIF.
      CATCH cx_ai_system_fault .
    ENDTRY.
    *Call soap body using abap proxy class.
    DATA: get_quotes TYPE zzget_quotes_soap_out .
    DATA: get_quotes1 TYPE zzget_quotes_soap_in .
    get_quotes1-quote_ticker = 'GE'.
    TRY.
        CALL METHOD ref_stock->get_stock_quotes
          EXPORTING
            get_quotes1 = get_quotes1
          IMPORTING
            get_quotes  = get_quotes.
      CATCH cx_ai_system_fault .
      CATCH cx_ai_application_fault .
    ENDTRY.
    4.It is throwing cx_ai_system_fault error.
    SOAP details:
    Input:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding" >
    <soap:Header>
    <s1:LicenseInfo xmlns:s1="http://ws.strikeiron.com">
    <s1:RegisteredUser>
    <s1:UserID>[email protected]</s1:UserID>
    <s1:Password>aaaaaaaa</s1:Password>
    </s1:RegisteredUser>
    </s1:LicenseInfo>
    </soap:Header>
    <soap:Body>
    <tns:GetQuotes xmlns:tns="http://swanandmokashi.com">
    <tns:QuoteTicker>GE</tns:QuoteTicker>
    </tns:GetQuotes>
    </soap:Body>
    </soap:Envelope>
    Thanks,
    Kavitha.

    Hi ,
    Thank you for the response. Did you passed user email and password ([email protected] /aaaaaaaa) part of licenseinfo->resisteredUser along with Quoteticker GE in analyzer?
    <a href="http://www.strikeiron.com/Analyzer/OnlineAnalyzer.aspx?WSDL=http://ws.strikeiron.com/SwanandMokashi/StockQuotes?WSDL">ANALYZER</a>
    Thanks,
    Kavitha.

  • Problem consuming web service created by ABAP via standalone java client

    I'm trying to consume web service created by ABAP in R3 system via standalone java client. I should be getting a string reply after consumed the web service (ZSMS_INBOUND), but so far i received null. I cant find any exception or log to trace the problem. Any help would be appreciated. Is there anything wrong with my client calling the web service?
    public void myMethod{
              // TODO : Implement
              try{
                   Stub stub = (Stub)new ZSMS_INBOUNDServiceImpl().getLogicalPort();
                   stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,"http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-               client=100&wsdl=1.1&mode=sap_wsdl");
                   inboundService = (ZSMS_INBOUND) stub;
                   BAPIRET2 str = inboundService.ZSMS_INBOUND(date, message, modemId, smsId, tel, time);
                   ackDeliveryArray<i> = str.toString();
              }catch (Exception e) {
                   e.printStackTrace();
    Generated following SAP help standalone proxy creation steps.
    ***files fr SEIs
    ZSMS_INBOUND.java   (interface)
    ZSMS_INBOUNDService.java  (interface)
    ZSMS_INBOUNDServiceImpl.java
    ZSMS_INBOUNDSoapBindingStub.java
    ***files fr Proxy classes
    ZSMS_INBOUND.java
    ZSMS_INBOUNDResponse.java
    BAPIRET2.java
    .... many more files
    the wsdl is as below (generated by ABAP):
    <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:n0="http://www.sap.com/webas/630/soap/features/authentication/" xmlns:sap="http://www.sap.com/webas/630/wsdl/features" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:sap-com:document:sap:rfc:functions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <wsdl:types>
    - <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions" elementFormDefault="unqualified" attributeFormDefault="qualified">
    - <xsd:simpleType name="char1">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="1" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char10">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char17">
    + <xsd:restriction base="xsd:string">
      <xsd:maxLength value="17" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char170">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="170" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char20">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="20" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char220">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="220" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char30">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char32">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="32" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char50">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="date">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10" />
      <xsd:pattern value="\d\d\d\d-\d\d-\d\d" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="numeric3">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="3" />
      <xsd:pattern value="\d*" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="numeric6">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="6" />
      <xsd:pattern value="\d*" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="time">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="8" />
      <xsd:pattern value="\d\d:\d\d:\d\d" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:complexType name="BAPIRET2">
    - <xsd:sequence>
      <xsd:element name="TYPE" type="tns:char1" />
      <xsd:element name="ID" type="tns:char20" />
      <xsd:element name="NUMBER" type="tns:numeric3" />
      <xsd:element name="MESSAGE" type="tns:char220" />
      <xsd:element name="LOG_NO" type="tns:char20" />
      <xsd:element name="LOG_MSG_NO" type="tns:numeric6" />
      <xsd:element name="MESSAGE_V1" type="tns:char50" />
      <xsd:element name="MESSAGE_V2" type="tns:char50" />
      <xsd:element name="MESSAGE_V3" type="tns:char50" />
      <xsd:element name="MESSAGE_V4" type="tns:char50" />
      <xsd:element name="PARAMETER" type="tns:char32" />
      <xsd:element name="ROW" type="xsd:int" />
      <xsd:element name="FIELD" type="tns:char30" />
      <xsd:element name="SYSTEM" type="tns:char10" />
      </xsd:sequence>
      </xsd:complexType>
    - <xsd:element name="ZSMS_INBOUND">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="DATE" type="tns:date" />
      <xsd:element name="MESSAGE" type="tns:char170" />
      <xsd:element name="MODEMID" type="tns:char10" />
      <xsd:element name="SMSID" type="tns:char17" />
      <xsd:element name="TEL" type="tns:char20" />
      <xsd:element name="TIME" type="tns:time" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="ZSMS_INBOUNDResponse">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="RETURN" type="tns:BAPIRET2" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
      </xsd:schema>
      </wsdl:types>
    - <wsdl:message name="ZSMS_INBOUND">
      <wsdl:part name="parameters" element="tns:ZSMS_INBOUND" />
      </wsdl:message>
    - <wsdl:message name="ZSMS_INBOUNDResponse">
      <wsdl:part name="parameters" element="tns:ZSMS_INBOUNDResponse" />
      </wsdl:message>
    - <sap:Feature name="design_0" uri="http://www.sap.com/webas/630/soap/features/authentication/">
    - <sap:Property qname="n0:AuthenticationLevel">
      <sap:Option value="n0:None" />
      </sap:Property>
      </sap:Feature>
    - <wsdl:portType name="ZSMS_INBOUND">
      <sap:useFeature feature="tns:design_0" />
    - <wsdl:operation name="ZSMS_INBOUND">
      <wsdl:input message="tns:ZSMS_INBOUND" />
      <wsdl:output message="tns:ZSMS_INBOUNDResponse" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="ZSMS_INBOUNDSoapBinding" type="tns:ZSMS_INBOUND">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="ZSMS_INBOUND">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="ZSMS_INBOUNDService">
    - <wsdl:port name="ZSMS_INBOUNDSoapBinding" binding="tns:ZSMS_INBOUNDSoapBinding">
      <soap:address location="http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-client=100" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

    I'm now able to consume the web service, but with the error as below:
    Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
    Error Message is :com/sap/guid/GUIDGeneratorFactory
    BAPIRET2 mappingInfo:
      TYPE   TYPE   false   false   11
      ID   ID   false   false   11
      NUMBER   NUMBER   false   false   11
      MESSAGE   MESSAGE   false   false   11
      LOG_NO   LOG_NO   false   false   11
      LOG_MSG_NO   LOG_MSG_NO   false   false   11
      MESSAGE_V1   MESSAGE_V1   false   false   11
      MESSAGE_V2   MESSAGE_V2   false   false   11
      MESSAGE_V3   MESSAGE_V3   false   false   11
      MESSAGE_V4   MESSAGE_V4   false   false   11
      PARAMETER   PARAMETER   false   false   11
      ROW   ROW   false   false   11
      FIELD   FIELD   false   false   11
      SYSTEM   SYSTEM   false   false   11
    My java code is :
    public class MyTest {
         public static void main(String[] args){
              try{
                             Stub stub = (Stub)new ZSMS_INBOUNDServiceImpl().getLogicalPort();
                             stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,"http://mytest:8080/sap/bc/srt/rfc/sap/ZSMS_INBOUND?sap-client=100");
                             ZSMS_INBOUND inboundService = (ZSMS_INBOUND) stub;
                             BAPIRET2 str = inboundService.ZSMS_INBOUND(param1,param2,param3,param4,param5,param6);
                             System.out.println(str.toString());
                             }catch (Exception e) {
                                  e.printStackTrace();

  • No data in generated document/web service data source/complex response type

    I can define a report with a template with the BI Publisher server and the Template Builder Desktop plugin. When I use an sql statement as data source the preview functionality in Word and in the browser (logged in to the server) results in a correct report, with the correct data from the data source.
    When I use a web service as a data source I can still generate and preview reports but no data from the data source is visible in the reports. However this data is available in the Template Builder plugin in MS-Word.
    How do I know this ? When I try to insert a field from the data source into my rtf template the plugin shows a screen with the available fields. Or actually, the screen shows all fields returned by a dummy call to the web service. When I click on a field it shows the value returned by the web service just after the test "Example". I have set up my web service such that it always returns the same response.
    The field I want to show is in a repeating record, but it does not make a difference when I surround it by a group:
    <?for-each-group:/getValidationGroupsResponse/body/validationGroupList/validationGroup[1];./name?><?name?><?end for-each-group?>
    Neither does looping over all fields display any data:
    <?for-each-group:/getValidationGroupsResponse/body/validationGroupList/validationGroup;./name?><?name?><?end for-each-group?>
    The fact that the response of my web service data source contains repeating records might be different from what others have tested so far.
    I also found two other features when defining reports. I mention them here because they could be related to my problem. When I define two data source for my report, a web service and an sql query then only the fields from the sql query are visible in MS-Word/Template Builder. Even when the Data Model specifies the web service as "Main Data Set". And the "Default data source" is always a database even when the Data Model only defines a web service as "Data Set".
    Edited by: CalculateOnline.org on May 21, 2010 2:36 PM: changed title

    Unfortunately I can not test against a public webservice and follow the examples in the tutorials, since BI Publisher does not seem to offer any proxy configuration to connect to the internet.
    My local webservice returns the following data, visible when viewing the report from the backend, when no template has been defined yet:
    <ns2:getValidationGroupsResponse xmlns:ns2="amsterdam/wabo/services/data/validationOperations" xmlns="amsterdam/wabo/services/data/common">
    <ns2:responseHeader>
    <resultaatcode>OK</resultaatcode>
    </ns2:responseHeader>
    <ns2:body>
    <ns2:validationGroupList>
    <ns2:validationGroup>
    <ns2:name>testgroep1</ns2:name>
    <ns2:caption>kop1</ns2:caption>
    <ns2:description>Voor testen ontvankelijkheidstest 1</ns2:description>
    </ns2:validationGroup>
    <ns2:validationGroup>
    <ns2:name>testgroep2</ns2:name>
    <ns2:caption>kop2</ns2:caption>
    <ns2:description>Voor testen ontvankelijkheidstest 2</ns2:description>
    </ns2:validationGroup>
    </ns2:validationGroupList>
    </ns2:body>
    </ns2:getValidationGroupsResponse>
    After defining the template, the values of the first group are visible in MS-Word as well, as example values.
    I put the the template in a public place:
    http://www.calculateonline.org/projects/bipublisher/template1.rtf
    Just in case you need the wsdl as well:
    http://www.calculateonline.org/projects/bipublisher/validationOperations.wsdl

  • Best practice for consuming web services

    Hi
    we are consuming web service in orchestration by "Add Generated Item".By using this option it creates 1 orch,1xsd file and some bindings.
    we have different projects for schemas,maps and orchestration under our solution in visual studio.
    Now i need to know that what will be the best practice for consuming web service in orchestration i mean in which project should i use "add generated item" (in orchstration project or in schemas project) coz it generates both 1 orch and 1
    schema.
    thanks

    From a service orientation perspective you should abstract the service artifacts from the other artifacts. Otherwise it will be very difficult to update the service interface without affecting the other artifacts. For example you don't want to have to redeply
    your entire application if only one field changes in the service you consume.
    So I typically generate the items, remove the unnecessary stuff, and put them in a separate project.
    Depending on the control you have over the services you want to consume, it would even be better to create another layer of abstraction. By that I mean create your own interface (schema) and map that one to the one the service exposes. This basically
    is only necessary if you consume external services that are beyond your control. By abstracting the interface it exposes, you limit the impact of changes of that interface on the rest of your system. All changes are abstracted behind your own interface.
    If you consume internal services, you can probably control the way the interface is defined. In a service oriented world all internal services expose a well known interface, based on the domain objects you have within your organisation.
    Jean-Paul Smit | Didago IT Consultancy
    Blog |
    Twitter | LinkedIn
    MCTS BizTalk 2006/2010 + Certified SOA Architect
    Please indicate "Mark as Answer" if this post has answered the question.

  • Consuming web service in PI 7.3 and creating file

    Hi,
    I need to consume web service in PI 7.3 and create file from response. I have WSDL for the web service. Now confused about datatype/message type. Is there any document/note to follow?
    thanks,
    7Z

    I need to consume web service in PI 7.3 and create file from response. I have WSDL for the web service. Now confused about datatype/message type. Is there any document/note to follow?
    ==>
    Hi,
    There are 2 ways you can do this :-
    If your sender is a file and receiver is a webservice and you want to map the response back to the file then :-
    Sol 1 :- Async-Sync Bridge using RequesResponse Oneway bean
    Sender File channel ---> Soap Receiver Channel
    Soap Receiver Channel brings the response back to the File Receiver Channel.
    Now this File Receiver Channel should be called inside the Sender File Channel using the above bean.
    Data Type :
    Src - File struc to SOAP request (WSDL used as an external definition)(mapping 1)
    SOAP response(WSDL used as an external definition) to Tgt File Struc (mapping 2)
    Sol 2 :- Async Scenario
    Make a Sender File Channel --> use SOAP lookup channel (pass the request payload through the SOAP receiver channel) --> Map the response back to the File using File Receiver Channel.
    Data Type:
    Src - File struc to Tgt File Struc (mapping 1). Since you are passing the request payload through SOAP lookup in the UDF itself.
    ======================================================================

  • Consuming Web Services with ABAP - WSDL

    Hi All,
    I Want to consume web service in abap, i found lot of documents,Here i am having data in the internal table i need to pass
    it to wsdl file, The Web Service or Proxy generates a WSDL file. So this WSDL file can be consumed on ABAP Front and Encrypt the Data that is to be sent to the Banks.
    I found the input and output, Where i can find the method generated or we need to create it
    CALL METHOD io_clientproxy->XXXXXXXXXXXX
    please let me have your valuable ideas
    Thanks in advance,
    Arun.

    Hi Miguel,
    I have not heared about SPROXY, Here i found some code,which calls a web service method and where it is from.
    when i double click on my proxy it shows me some method.IF_PROXY_BASIS_INTERNAL~CREATE_FRAMEWORK
    this is the one web service method. and i meed to pass the internal table data to WSDL file.
    *-- create web service proxy class instance
    TRY.
        CREATE OBJECT io_clientproxy
          EXPORTING
            logical_port_name = 'LP4'.
      CATCH cx_ai_system_fault.
    ENDTRY.
    *-- call web service methods
    TRY.
        CALL METHOD io_clientproxy->get_airport_information_by_is
          EXPORTING
            input  = input
          IMPORTING
            output = output.
      CATCH cx_ai_system_fault.
      CATCH cx_ai_application_fault.
    ENDTRY.
    *-- text processing
    output_string = output-get_airport_information_by_is.
    REPLACE ALL OCCURRENCES OF
        '<' IN output_string WITH '<' .
    REPLACE ALL OCCURRENCES OF
    '>' IN output_string WITH '>' .
    REPLACE ALL OCCURRENCES OF
    'xmlns=' IN output_string WITH 'xmlns:xsl=' .
    *-- parsing
    TRY .
        CALL TRANSFORMATION ('Y_AIRPORT_XML2ABAP')
                SOURCE XML output_string
                RESULT     outtab = outtab.
      CATCH cx_xslt_exception INTO xslt_err.
        DATA: s TYPE string.
        s = xslt_err->get_text( ).
        WRITE: ': ', s.
        STOP.
    ENDTRY .
    Regards,
    Arun.

  • Code for consuming web services in ABAP

    *& Report  ZVM_GET_CITY_TIME
    REPORT  zvm_get_city_time.
    PARAMETERS:
      p_city TYPE zget_city_time_soap_in-city.
    DATA:
      cl_proxy TYPE REF TO zco_time_service_soap,
      input    TYPE zget_city_time_soap_in,
      output   TYPE zget_city_time_soap_out,
      systerr  TYPE REF TO cx_ai_system_fault,
      w_error  TYPE c.
    TRY.
        CREATE OBJECT cl_proxy
          EXPORTING
            logical_port_name = 'ZCO_TIME_SERVICE_SOAP'.
      CATCH cx_ai_system_fault.
        CREATE OBJECT systerr.
        WRITE:/ 'Error in creating object - ', systerr->errortext.
    ENDTRY.
    TRY.
        input-city = p_city.
        CALL METHOD cl_proxy->get_city_time
          EXPORTING
            input  = input
          IMPORTING
            output = output.
      CATCH cx_ai_system_fault.
        CREATE OBJECT systerr.
        WRITE:/ 'Error in calling the method - ', systerr->errortext.
        w_error = 'X'.
    ENDTRY.
    CHECK w_error NE 'X'.
    SKIP.
    WRITE:/ 'The current time in ', p_city, ' is ',
            output-get_city_time_result.

    <i> is there any other way to consume web services in ABAP</i>
    you can use cl_http_client class to make your program to act as http client and post the soap message too webservice. This way you dont need to generate proxy, but you should know the soap message format.
    Regards
    Raja

  • How to consume WEB SERVICES from ABAP ??

    Q: How to consume WEB SERVICES from ABAP program??
         the point here is i am using SAP release 620 and the creation of proxy is out of scenario
         and also no XI.    Its only through ABAP program i need to consume one web service (its a HTTPS one ),
        Using cl_http_client... i tried it but i am totally confused of whats happening ???
    Req some senior ppl advice on the same/approach.
    any hints will suffice my way of approach...!!!
    Please do put in your valuable advices..!!
    Thanks in advance..!!!!

    Hello Srinivas,
    Following is the code for calling web service:
    data: client type ref to if_http_client,
          host   type string value 'server url',
          service type string value '8080',
          path type string value '/sap/public/ping',
          errortext type string,
          proxy_service type string,
          scheme type i value 1.
    call method cl_http_client=>create
    exporting host  = host
            service  = service
         proxy_host  = host
       proxy_service = service
       scheme        = scheme
    importing client  = client
    exceptions
        argument_not_found = 1
        internal_error     = 2
        plugin_not_active  = 3
        others             = 4.
    case sy-subrc.
      when 0.
         write 'Server reached successfully'.
      when others.
         write: 'sy-subrc =', sy-subrc.
    endcase.
    Once you got the client object you can call following methods:
    "Set the requrie URL for the web service you want to call. This is not WSDL anyway!!
    cl_http_utility=>set_request_uri( request = client->request
    uri =' url 2 be called ').
    *Then you can call send method with proper inputs for sending request to WS
    CALL METHOD client->send
    Then you can use receive method for getting the response
    CALL METHOD client->receive
    *You can get last error in case of exceptions
    CALL METHOD cl_http_client=>get_last_error
    *Close the client object
    CALL METHOD client->close
    For more information on full code refer my link in previous replay.
    Thanks,
    Augustin.
    Edited by: Augustarian on Aug 18, 2009 1:49 PM

  • How to Consume Web Service?

    Hi Experts,
    I need to call a Function Module in the Exit.
    In this Function Create to write the code to consume web service created by third party.
    Then get the Data from there and uodate SAP
    Can u plz help me with the Steps Involved in this?

    Hi Mohsin,
    Please chk this link once for consuming web services..
    http://help.sap.com/saphelp_nw70/helpdata/en/bf/d005244e9d1d4d92b2fe7935556b4c/frameset.htm
    http://help.sap.com/saphelp_nw04/Helpdata/EN/b4/6aae409567942ae10000000a155106/content.htm.
    U shuld have authorizations for tcodes WSADMIN and SOAMANAGER for creating web services
    Hope it will be useful..
    Regards,
    Lakshman.
    Edited by: Lakshman N on Jan 13, 2009 12:06 PM

  • How to consume web service in jdev 10.1.3 and OAF 12.1.3

    I have a question regarding consuming web service in jdev 10.1.3. I have a WSDL url and want to generate java stub files from the wsdl. How do I do this using jdev?

    This is now contained in the PageDefinition file.
    1. Right-click on the Data Action, and then select Go to Page Definition
    2. Add an attribute to the <pageDefinition> tag called ControllerClass="MyPackage.ShowInfoAction"
    If you have more than 1 Data Action linked to a PageDefinition, then there is more work required.
    Hope this helps

  • How to consume web service in Agentry in SMP 3.0

    Dear All , I am using web service in Agentry to retrive data but could not able to fetch it . I have made connection with HTTP-XML for consuming webservices. and also give proper information in Agentry.ini files Ex : [HTTPXML-2] name=HTTP-XML Back End authenticationCertificateStore=MY authenticationCertificateStorePassword= authenticationCertificateStorePasswordEncoded=false autoDequote=true ;baseURL=http://localhost:81 baseURL=http://sapes1.sapdevcenter.com:8080/sap/opu/odata/iwbep/gwdemo/ basicAuthenticationPassword=123456 basicAuthenticationPasswordEncoded=false basicAuthenticationUserID=P1466405733 constantsFile=httpxml_sd.ini enableAuthentication=false enablePreviousUserAuthentication=false httpConnectTimeout=300 httpReceiveTimeout=300 httpResolveTimeout=300 httpSendTimeout=300 listenOn= timeout=300 timeZoneName= useSSL=false xmlAllowXSLTScript=true xmlNamespaces= xmlResolveExternals=true xmlValidateOnParse=true for more information i have attached agentry XML screen shot as well . Can you please guide me how to consume web services in Agentry correct way ? Note : Currently i am using standard netweaver demo web services . Thanks & Regards ,   Kunal Varaiya
    Tags edited by: Michael Appleby

    The XML Steps URL will be added to the Agentry.ini BaseURL.  So you dont' need the full URL on the step.
    So when Agentry Runs the step to call the backend it will go:
    <BaseURL>/<Step's URL>
    This way if you need to change the base URL, IE, going from Dev to QA to Production Server you only need to change the Base, and not go into every step and update it.
    URL: This attribute contains the URL to which the Agentry Server will make a request. This value will be appended to the value configured as the base URL for the HTTP-XML system connection. This base URL is configured within the HTTP-XML system connection configuration options for the Agentry Server. Proper use of both this base URL option and the URL entered in the requests of the step definitions can support portability for the application, with the base URL being the implementation-specific portion and the step’s URL being the portion not likely to change for the same back end system from one implementation to the next.
    http://help.sap.com/saphelp_smp303sdk/helpdata/en/7c/143d5d70061014b323be16eb0b0a77/frameset.htm 
    Stephen

Maybe you are looking for