Consuming SOAP Web Services

Ok I have a web service that I'm trying to consume in CF9. I'm able to hit the wsdl with SOAPUI and see the results. The results come back in XML format. It basically shows a list of rooms we use as meetings and show the times they are reserved. Here's the CF code I've written for it:
<cfinvoke 
    webservice="http://dwc-dreiman-w7e/WSExchangeMeetingRooms/exchange.asmx?WSDL"
    method="FindResourceDetailForDay"
    returnvariable="FindResourceDetailForDayResponse">
    <cfinvokeargument name="c" value="Deerwood">
    <cfinvokeargument name="d" value="">
</cfinvoke>
<cfoutput>Test value returns #FindResourceDetailForDayResponse#</cfoutput>
However that code returns this: Test value returns org.tempuri.FindResourceDetailForDayResponseFindResourceDetailForDayResult@13d9efc
The information that SoapUI returns in XML format is this:
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
               <calendar xmlns="">
                  <Dwc-Room-02 diffgr:id="Dwc-Room-021" msdata:rowOrder="0" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 11:00:00 AM</StartTime>
                     <EndTime>10/6/2010 12:00:00 PM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Construction Meeting</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-02>
                  <Dwc-Room-01 diffgr:id="Dwc-Room-011" msdata:rowOrder="0" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 9:00:00 AM</StartTime>
                     <EndTime>10/6/2010 11:00:00 AM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Leadership Meeting</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-01>
                  <Dwc-Room-01 diffgr:id="Dwc-Room-012" msdata:rowOrder="1" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 12:00:00 PM</StartTime>
                     <EndTime>10/6/2010 2:00:00 PM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Strategic Conversation</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-01>
                  <Dwc-Room-01 diffgr:id="Dwc-Room-013" msdata:rowOrder="2" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 2:00:00 PM</StartTime>
                     <EndTime>10/6/2010 3:00:00 PM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Board Meeting</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-01>
               </calendar>
            </diffgr:diffgram>
How do I go about accessing the information within the parent/child nodes of the XML? This is my first time working with complex webservices in Coldfusion.

If it makes any difference here's the entire output I get when I run the WSDL thru SoupUI
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <FindResourceDetailForDayResponse xmlns="http://tempuri.org/">
         <FindResourceDetailForDayResult>
            <xs:schema id="calendar" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
               <xs:element name="calendar" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
                  <xs:complexType>
                     <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="Dwc-Room-02">
                           <xs:complexType>
                              <xs:sequence>
                                 <xs:element name="StartTime" type="xs:string" minOccurs="0"/>
                                 <xs:element name="EndTime" type="xs:string" minOccurs="0"/>
                                 <xs:element name="BusyType" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Subject" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Location" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsException" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsMeeting" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsPrivate" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsRecurring" type="xs:string" minOccurs="0"/>
                              </xs:sequence>
                           </xs:complexType>
                        </xs:element>
                        <xs:element name="Dwc-Room-01">
                           <xs:complexType>
                              <xs:sequence>
                                 <xs:element name="StartTime" type="xs:string" minOccurs="0"/>
                                 <xs:element name="EndTime" type="xs:string" minOccurs="0"/>
                                 <xs:element name="BusyType" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Subject" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Location" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsException" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsMeeting" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsPrivate" type="xs:string" minOccurs="0"/>
                                 <xs:element name="IsRecurring" type="xs:string" minOccurs="0"/>
                              </xs:sequence>
                           </xs:complexType>
                        </xs:element>
                     </xs:choice>
                  </xs:complexType>
               </xs:element>
            </xs:schema>
            <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
               <calendar xmlns="">
                  <Dwc-Room-02 diffgr:id="Dwc-Room-021" msdata:rowOrder="0" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 11:00:00 AM</StartTime>
                     <EndTime>10/6/2010 12:00:00 PM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Construction Meeting</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-02>
                  <Dwc-Room-01 diffgr:id="Dwc-Room-011" msdata:rowOrder="0" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 9:00:00 AM</StartTime>
                     <EndTime>10/6/2010 11:00:00 AM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Leadership Meeting</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-01>
                  <Dwc-Room-01 diffgr:id="Dwc-Room-012" msdata:rowOrder="1" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 12:00:00 PM</StartTime>
                     <EndTime>10/6/2010 2:00:00 PM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Strategic Conversation</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-01>
                  <Dwc-Room-01 diffgr:id="Dwc-Room-013" msdata:rowOrder="2" diffgr:hasChanges="inserted">
                     <StartTime>10/6/2010 2:00:00 PM</StartTime>
                     <EndTime>10/6/2010 3:00:00 PM</EndTime>
                     <BusyType>Busy</BusyType>
                     <Subject>Board Meeting</Subject>
                     <Location/>
                     <IsException>False</IsException>
                     <IsMeeting>False</IsMeeting>
                     <IsPrivate>False</IsPrivate>
                     <IsRecurring>False</IsRecurring>
                  </Dwc-Room-01>
               </calendar>
            </diffgr:diffgram>
         </FindResourceDetailForDayResult>
      </FindResourceDetailForDayResponse>
   </soap:Body>
</soap:Envelope>

Similar Messages

  • Consume Restful Web Services

    Hi,
    I have experience consuming Soap Web Services using utl_dbws.
    Our client provides various rest web services that we need to access within the database.
    We wan't a pure pl/sql solution without any additional java components.
    Does anyone have any information on how to consume REST web services?
    Thanks

    Check out APEX_WEB_SERVICE.
    Ta,
    Trent

  • Timeout when consuming a SOAP web service

    Hello,
    I'm quite new to Labview and I'm trying to consume a SOAP web service created using a very simple WCF example, but I keep on getting a WebException because of a timeout.
    The web service has been created using the example from the WCF getting started tutotial (to keep things simple) http://msdn.microsoft.com/en-us/library/ms734712.a​spx
    You'll find my .Net solution attached to this message. (You'll have to be administrator to run the service though).
    I have used the import web service tool in Labview to create the VI to connect to the web service and all went fine, it created the VI correctly. You'll find the created VI also attached to this message.
    Then, I'm trying to create a very simple VI to call the webservice and put the return value inside a numeric indicator. Unfortunately, when I run this VI it crashes with a WebException because of a timeout.
    If I run the .Net client, everything goes fine, and if I go to the web service address with a browser, I get the service website, so I know that the server is registered correctly, only Labview can't connect to it for an unknown reason. Everything is setup to connect through localhost:8000, so it can't really be a network problem, I've tried disabling the Windows firewall to see if that was the problem, but it persists.
    I've also tried to do something similar using the CDYNE web service, like in the example http://www.ni.com/white-paper/4728/en/, and it works perfectly.
    Does anybody have an idea about what could be the issue?
    Regards.
    Attachments:
    WcfTestApp.zip ‏453 KB
    _Calculator.zip ‏72 KB

    OK, I found the problem myself, it was a problem with the configuration of the WCF service, I was missing the ServiceMetadata endpoint.
    For reference, if somebody stumbles upon the same issue as I had, here's a service configuration that works with Labview (using .Net >=4.0)
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <protocolMapping>
          <add scheme="http" binding="basicHttpBinding" />
        </protocolMapping>
      </system.serviceModel>
    And here's how to create and run the service host.
    using (ServiceHost selfHost = new ServiceHost(typeof(Calculator), new Uri("http://localhost:8000/Calculator")))
                    try
                        selfHost.Open();
                        Console.ReadLine();
                        selfHost.Close();
                    catch (CommunicationException e)
                        selfHost.Abort();
                        throw;

  • Handling of SOAP Faults in SOAP Clients consuming PI Web services

    Hi there,
    the following is in regards to SOAP fault error handling in a SOAP client that consumes a Web Service published by PI.
    I have been reading a number of threads and blogs in regards to this topic and I am still left with some open questions which I hope to get some final answersclarifications through this thread.
    In particular the blogs
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI      - Handling Web Service SOAP Fault Responses in SAP NetWeaver XI
    XI: Propagation of meaningful error information to SOAP Client     - XI: Propagation of meaningful error information to SOAP Client
    have caused by attention.
    Both of these threads are realating to the Fault Message type one can use to return errors back to a SOAP Client (.Net, Java, etc.).
    In our scenario we published a number of Web Services through PI that provide functionality to integrate with an R3 back-end system using inbound ABAP Proxies.
    The services are standardised and will be consumed by a number of .NetJava applications and systems. The reason for the use of ABAP proxies is the customer specific application logic that is executed in the backend system. The Web services are synchronous and don't use ccBPM in the middle. Transformations are performed in PI combined with various lookups to set default values before the message is passed into the ABAP Framework of the R3 back-end system. The lookups are done against the R3 back-end system using the PI RFC Lookup feature.
    The inbound proxies currently return application errors as part of the response message back to the SOAP client. For more critical errors we introduced the use of Fault message types as the method to return the information back to the SOAP Client. This is all working satisfactory.
    The questions I have are as follows.
    1. When an error occurs at the IE level (e.g. mapping error), ABAP Proxy framework level (e.g. conversion from XML to ABAP format) or Adapter Framework level (Adapter releated error) a different SOAP fault message structure is returned to the SOAP Client than the one    used for the application errors. The SOAP fault message structure used in this case is the standard SOAP fault used by PI to return system errors back to the caller. For those SOAP fault messages there is no payload generated that could be mapped to the SOAP fault structure used for the application errors. This would be preferrable as there would be only one Fault message structure used for both inbound ABAP proxy generated fault messages and PI generated fault messages.
    Also the error messages generated by PI can be quite cryptic and difficult to interpret at the client end and could be filtered     ranslated during message mapping if the payload of the PI generated SOAP fault message could be accessed in a message mapping.
    Point 3 of the above thread 2759 indicates that this would be possible but doesn't outline how. Could somebody please clarify this for me as I don't believe that this is really possible ???.
    My idea instead was to use the PI SOAP fault message structure to also return application errors. Therefore I would create a Fault message type that matches the PI SOAP fault structure. This would enable the SOAP Client to handle only one SOAP Fault error structure. Would that be something to look into instead ?????.
    2. We have been looking at using the integrated WEB AS SOAP adapter instead of using the AF Sender SOAP adapter. While playing with this we encountered differences in the content returned through the SOAP fault generated by PI. A sample is below. Shouldn't the content of these SOAP faults be the same if the error that caused it is the same. Also the SOAP fault returned by the IE SOAP adapter is much more    useful in this particular case. Both errors below are the same, a conversion error from XML to ABAP took place in the inbound ABAP proxy framework of the back-end system.
    SOAP fault returned when using SOAP Sender adapter of AF
    <!see the documentation>
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIProxy:PARSE_APPLICATION_DATA:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
         at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:916)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    SOAP fault using integrated SOAP adapter of PI IE
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>System Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context/>
                   <code>ABAP.PARSE_APPLICATION_DATA</code>
                   <text>Error during XML => ABAP conversion (Request Message; error ID: CX_ST_DESERIALIZATION_ERROR; (/1SAI/TXSBE20FF604BAFEF8D990A XML Bytepos.: 564  XML Path: ns1:CreatePORequest(1)POHEADER(2)COMP_CODE(1) Error Text: Data loss occurred when converting ############################## Kernel ErrorId: CONVT_DATA_LOSS))</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    I have been reading threads for hours without being able to find one that answers questions 1 or provides a blog that outlines the approach one should take for error handling in SOAP clients that consume PI Web Services (and covers both PISystem generated faults and faults raised in Proxies).
    There may already be a blog or thread and I just missed it.
    Any comments are welcome.
    Thanks. Dieter

    Hi Dieter,
    As Bhavesh already mentioned fault messages are used for application errors. The same is described in SAP XI help:
    http://help.sap.com/saphelp_nw04/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    In case of system error (e.g. field length too long in proxy call or error in XI/PI mapping) there seems to be no standard way of handling it and propagating the response to the consumer of webservice.
    Each system error is not recognized by SOAP adapter and SOAP adapter exception is raised.
    The only bizzare solution that I can see is developing an adapter module and transport wrong message to standard fault message before delivering it to adapter engine:
    http://help.sap.com/saphelp_nw04/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
    Kind regards,
    Wojciech
    btw nice thread

  • How to install and consume GroupWise Web Service (SOAP)

    Hello! I'm Razvan, programmer from Romnia, and I am new to GroupWise development.
    I am asking if anyone could help me with a C# Visual Studio 2010 example of how to install and consume GroupWise Web Service (SOAP).
    The documentation from novell site didn't help me, i didn't understant much of it.
    All I need is either a link to a documented GroupWise C# developer step-by-step tutorial, or some code examples.
    Can you please show me some code examples in C# with:
    1)loging in using a username and a password,
    2)retrieving contact list,
    3)retrieving appointment list,
    4)sending a mail,
    5)setting an appointment
    I don't know how to use "groupwise.wsdl" and customise it so that it points to our GroupWise server.
    Please, I really need this because I am working at a project right now which involves GroupWise integration.
    I hope I haven't disturbed anyone with my simple question.
    I know this might be a very simple question given the complexity of the other posts here, but that's why I really hope I will get an answer soon.
    Thank you very much!
    Signature:
    How old is the Orthodox faith?
    How old is the orthodox faith?

    Just a comment.
    The value for the version element should be "1.02"
    not "1.2".
    Preston
    >>> On Tuesday, March 01, 2011 at 8:06 AM,
    TheRomanian<[email protected]> wrote:
    > I have great news! After strong documentation yesterday and today, I've
    > just made a successfull example that actually connects to our GroupWise
    > server.
    >
    > I made it in PHP.
    >
    > I need an ASP.NET + C# application, but now is very simple to convert
    > it. I post the PHP code here for other people who in future might be
    > interested in finding out.
    >
    > So a simple PHP GroupWise Login code using "groupwise.wsdl" web
    > service:
    >
    >
    > require_once('./GWService/GroupwiseService.php');
    > require_once('FB.class.php');
    >
    > $classmap = array(
    > 'Authenication' => 'Authenication',
    > 'PlainText' => 'PlainText',
    > 'loginRequest' => 'loginRequest',
    > 'loginResponse' => 'loginResponse',
    > 'logoutRequest' => 'logoutRequest',
    > 'logoutResponse' => 'logoutResponse',
    > 'UserInfo' => 'UserInfo',
    > );
    >
    > $gwservice = new GroupwiseService(
    > "./WSDL/groupwise.wsdl",
    > array(
    > "location" => "http://11.150.40.78:8756/soap",
    > *Your GroupWise server IP:
    > and PORT*
    > "classmap" => $classmap,
    > "trace" => true)
    > );
    >
    > // do login
    > $pt = new PlainText();
    > $pt‑>username = *"YOUR GROUPWISE USERNAME"*;
    > $pt‑>password = *"YOUR GROUPWISE PASSWORD"*;
    >
    > $lr = new loginRequest();
    > $lr‑>auth = $pt;
    > $lr‑>language = "en";
    > $lr‑>version = "1.2";
    > $lr‑>application = "phpClient";
    >
    > $lres = $gwservice‑>loginRequest($lr);
    > //print_r($lres);
    >
    >
    > I Hope this will help others.
    >
    > ‑‑
    > Signature:
    >
    > How old is the Orthodox Faith?
    > 'How old is the orthodox faith?'
    > (http://www.orthodoxphotos.com/history.shtml)

  • Setting up the Soap Header when consuming a web service.

    Hi SDN,
    I am trying to consume a web service,where I need to pass the soap header for sending the request to the sever.
    I am using if_ws_protocol_ws_header->SET_REQUEST_HEADER to set the Username and Password to the soap header. After a lot of trouble shooting I came to conclusion that the Username and Password are not being updated in soap header.
    I want to know how to set the soap header? I have tested the web service in the SOAP UI testing tool and it works fine taking the credentials. The webservice is using HTTPS protocol.Do we have any separate config for https. Do I need to pass the nonce and date created in the soap header for sure ? And is there any thing to be configured by basis team?
    Here is what I am trying to pass:
    ' <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">'
             '<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'
                '<wsse:Username>XXXXXXX</wsse:Username>'
                '<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXX</wsse:Password>'
                '</wsse:UsernameToken>'
         ' </wsse:Security>'
          '/soapenv:Header>'
    Thank you.

    CONCATENATE
    '<soapenv:Header>'
    '<wsse:Security 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"'
    'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">'
    '<wsse:UsernameToken>'
    '<wsse:Username>XXXXXX</wsse:Username>'
    '<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXXX</wsse:Password>'
    '<wsse:Nonce>' XXXXX'</wsse:Nonce>'
    '<wsu:Created>' XXXXX '</wsu:Created>'
    '</wsse:UsernameToken>'
    '</wsse:Security>'
    '</soapenv:Header>'
       INTO l_string.
    I solved my self and its working , Here is what I was passed.
    Thank you guys.

  • How to consume a web service provided by third party system from SAP system

    Hi Friends,
    Could any of you provide me a clear picture on how to consume a web service from SAP system and is provided by a third party system?
    Do we get an URL to create a client proxy for consuming the web service?
    Thanx in advance,
    Ram

    Hi Ram,
    of course you cannot supply the WSDL URL. Inside the WSDL (just view it in your browser) you find (usually but not necessary) towards the end something like
    <soap:address location="http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php"/>
    which is the actual adress of the service.
    An example service can be found here:
    <a href="http://www.weather.gov/xml/">National Digital Forecast Database</a>
    containing the WSDL URL at
    <a href="http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl">this address</a>.
    You might also want to browse for the amazon webservices which allow you to embed queries against amazon into your application.
    have fun,
    anton

  • How to expose a SOAP web service from HCP

    Hello All,
    Currently I am trying to create a SOAP web service within a HCP Java application to allow backend systems to consume data stored in HCP.
    This is the planned scenario:
    1. Create data in HCP - therefor I am using JPA and a oData Model.
    2. Backend uses web service to consume data from HCP - with this point I do have some problems.. I do want to create a SOAP web service in order to achieve this.
    Is there an easy way to create a SOAP web service in HCP? There are many tutorials in the internet of how to create a SOAP web service in 20 sec´s, but non of these helped me. I do was able to consume a SOAP web service in HCP coming from the ByD, but the other way around seems pretty complicated...
    Can I make use of the Eclipse functions to create a web service? (New --> Other... --> Web Services --> Web Service and than choose the Button up Java bean Web Service type)
    Have any of you some coding snippets that would probably help me out?
    I have unsuccessfully tried to use the @WebService, @SOAPBinding, @WebMethod notation in my java classes...
    Thank you,
    Swen

    Hello Nedelcho,
    Yes. All the required jar files are in the lib directory.
    Currently I am able to create a web service locally.
    But when I deploy that to the cloud server my JPA service is not working any more.
    Receiving the following error message:
    <?xml version='1.0' encoding='UTF-8'?><error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><code/><message xml:lang="en">javax.naming.NamingException: Error while attempting to resolve reference [Root exception is javax.naming.NamingException: Cannot create resource  object instance due to exception in the object factory [Root exception is javax.naming.NamingException: Data source 'jdbc/DefaultDB' not available.]]</message></error>
    The web.xml contains the following:
    Any advice?
    Best regards,
    Swen

  • Schema Data Type in SOAP Web Service while using Integration Gateway in SMP 3.0

    Hi Experts,
    I was working on Integration gateway component of SMP 3.0.3 where we can have oData services which connect to different data source from SMP and finally we have to consume from SMP. Here I have an SOAP Web service where there is Schema Data type which is an xml structure and because of that while doing the data modelling with Design time tools I am not able to map the properties as there aren't any as only the parent level Schema type is available in the SOAP Web Services. Please see the below image for reference :
    So now I have 2 inputs no problems for design as such then I have the schema for that which comes as a output response which is where I am facing the issue as we don't have that Data Structure itself so how are we going to map that. I have seen some thin possibilities with Custom Scripts with SMP SP06 where this will help us to process the request and response at runtime with JS/Groovy. So needed some lights on this schema data type on Integration Gateway component of SMP 3.0.3 which we are planning to upgrade to SP06 as well so it will be a good starting point for this as well
    Also have concerned my good friend Rakshit Doshi for this as well.
    Regards,
    Fenil.

    Hi All,
    Sorry for the late response guys was stuck somewhere else and so couldn't reply to this, see I have below response in SOAP UI
    There if we see we have the schema as the whole structure being defined under which we have all the child elements, am also posting the raw response from the soapUI below for better understanding
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <soap:Body>
          <GetMSUserLoginDetailsResponse xmlns="http://tempuri.org/">
             <GetMSUserLoginDetailsResult>
                <xs:schema id="MemberDetails" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
                   <xs:element name="MemberDetails" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
                      <xs:complexType>
                         <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="Table">
                               <xs:complexType>
                                  <xs:sequence>
                                     <xs:element name="RECID" type="xs:string" minOccurs="0"/>
                                     <xs:element name="FNAME" type="xs:string" minOccurs="0"/>
                                     <xs:element name="LNAME" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CUSTNO" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="MEMTYP" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="MEMTYPENAME" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CUSTTYP" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="EMAIL" type="xs:string" minOccurs="0"/>
                                     <xs:element name="MEMPASSWORD" type="xs:string" minOccurs="0"/>
                                     <xs:element name="ISDEBIT" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="PARENTID" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CHILDOF" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CUSTTYP1" type="xs:string" minOccurs="0"/>
                                     <xs:element name="ZONEID" type="xs:int" minOccurs="0"/>
                                     <xs:element name="EMAILFOOTERDETAIL" type="xs:string" minOccurs="0"/>
                                  </xs:sequence>
                               </xs:complexType>
                            </xs:element>
                            <xs:element name="Table1">
                               <xs:complexType>
                                  <xs:sequence>
                                     <xs:element name="ErrorCode" type="xs:string" minOccurs="0"/>
                                     <xs:element name="ErrorDesc" type="xs:string" minOccurs="0"/>
                                  </xs:sequence>
                               </xs:complexType>
                            </xs:element>
                         </xs:choice>
                      </xs:complexType>
                   </xs:element>
                </xs:schema>
                <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
                   <MemberDetails xmlns="">
                      <Table diffgr:id="Table1" msdata:rowOrder="0">
                         <RECID>97101-101-0000057069</RECID>
                         <FNAME>Fenil</FNAME>
                         <LNAME>Doshi</LNAME>
                         <CUSTNO>1042231</CUSTNO>
                         <MEMTYP>42</MEMTYP>
                         <MEMTYPENAME>Management</MEMTYPENAME>
                         <CUSTTYP>8</CUSTTYP>
                         <EMAIL>[email protected]</EMAIL>
                         <MEMPASSWORD>as</MEMPASSWORD>
                         <PARENTID>97101-101-0000057069</PARENTID>
                         <CUSTTYP1>Zone</CUSTTYP1>
                         <ZONEID>2</ZONEID>
                         <EMAILFOOTERDETAIL><![CDATA[<strong></strong><br />]]></EMAILFOOTERDETAIL>
                      </Table>
                      <Table1 diffgr:id="Table11" msdata:rowOrder="0">
                         <ErrorCode>100</ErrorCode>
                         <ErrorDesc>Login Successful.</ErrorDesc>
                      </Table1>
                   </MemberDetails>
                </diffgr:diffgram>
             </GetMSUserLoginDetailsResult>
          </GetMSUserLoginDetailsResponse>
       </soap:Body>
    </soap:Envelope>
    So we have the data but as a xml Structure which is nothing but schema and is my Eclipse while mapping while defining response type it gives me just an schema as the property.
    Regards,
    Fenil.

  • Error when consuming a web service in CF 11

    I am consuming a web service in ColdFusion what was written in .NET.  Some methods of the web service work fine, but some we get the below error.  We have identified the issue is the name of one of the properties in the web service appears to be the issue.  The property name is ID.  This is a very common property name so I would think someone has run across this before.  It appears that maybe ID is a default property for Axis?  I can dump the method that works and I see there is a getID() method with a return type of org.apache.axis.types.Id.
    If we change the name of the property to something other than ID it works, but this will cause us to refactor a lot of code.
    Here is the error I get when I try to call GetRoles method, which contains an ID property:
    Cannot perform web service invocation GetRoles. The fault returned when invoking the web service operation is:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: For input string: "i1"
    java.lang.NumberFormatException: For input string: "i1"
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: For input string: "i1"
    java.lang.NumberFormatException: For input string: "i1"
    at org.apache.axis.encoding.ser.BeanDeserializer.onStartElement(BeanDeserializer.java:462)
    at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
    at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
    at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java: 1048)
    at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    at org.apache.axis.message... ''
    I am running CF 11 Update 4.

    I am not passing any parameters to the method (it has no parameters).  On the ColdFusion side I do not use i1 anywhere.  I will check with the .net developer on Monday to see if he is using it anywhere in his code.  If he is he is using in consistently as the only methods that work from his service are those that do not have an ID property.  All services with an ID property give me the same error message.

  • Consuming a Web Service with WEB AS 6.40

    Hello,
    i try to consume a Webservice from the internet. I have configured the logical port and i created the client proxy as shown in the following real good weblog from
    Thomas Jung.
    /people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
    But when i try to test the proxy in SE80 I retrieve the following error:
    <CODECONTEXT>http://www.sap.com/xml_errorcodes</CODECONTEXT>
      <CODE>SOAP:111</CODE>
      <ERRORTEXT>Unallowed RFC-XML Tag (SOAP_EINVALDOC)</ERRORTEXT>
    What's wrong here? Someone can help me?
    Thanks for your help!
    Klaus

    We had the same error message for one of our Proxy Web Service calls.
    We tried to use an RFC instead of the URL, and performed a TEST CONNECTION.  And low and behold, we received an error message that was much more helpful than the "Unallowed RFC-XML Tag (SOAP_EINVALDOC)" message.
    The problem for us was that the Server that we were trying to consume the Web service from was blocking the IP address of our Web Application Server.
    We contacted the administrator, he verified that was the case, removed the restriction, and all is good now.
    Here was the message we saw when we tested it in the RFC:
    The Web server you are attempting to reach has a list of IP addresses that are not allowed to access the Web site, and the IP address of your browsing computer is on this list.  Please try the following: Contact the Web site administrator if you believe you should be able to view this directory or page.
    Hope this helps!

  • Consuming a web service in ABAP exception and error

    Hi experts,
    I have succesfully implemented this example web service http://www.webservicex.net/airport.asmx?WSDL from http://www.webservicex.net/airport.asmx and everything works perfect so I know it is possible.
    But my requirement is to implement the following web service: http://ws1.webservices.nl/business/soap_doclit?wsdl it is a document/literal soap web service and WS-I Basic Profile 1.0 compliant. When I try to create a proxy object I get the following errors:
    - Exception occurred in library handler
    - Incorrect value: Unknown Namespace http://schemas.xmlsoap.org/wsdl
    I already found that library handler exception might have something to do with http bindings, I found note 1403271 but as my system is running on release 702 level 0008 this note is obsolete.
    Now 2nd error, incorrect value I don't really understand.. I also think the web service is SOAP 1.1 and not 1.2 because that should also give problems according to this topic: Proxy object to consume web service - can anyone verify to be sure? I'm not that familiar with WSDL files but does anyone know what I can test and what I can remove from the web service?
    The web service documentation is found here: https://webview.webservices.nl/documentation/files/interfaces/soap/soap-txt.html#SOAP_Interface.Differences_between_SOAP_interfaces
    There are also other versions such as RPC/Encoded and one without a header but ALL versions give the exact same error.
    Thx!

    check the beginning of your WSDL file
    just after the first line <xml> you should have
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsa="http://www.w3.org/2005/08/addressing"
    followed by the namespaces related to your web service if required.
    SAP does all the job (generate the web service client) but any very little error in the file (or element not recognized) leads to this message "exception occurred in library handler" and it is not easy to know exactly what is the error...

  • Consuming a Web Service with ABAP in WAS 6.40 (SS3)

    Hi Everyone,
         Has anyone successfully consumed a web service (based on an EJB) that is published to the J2EE engine of their WAS 6.40 server by creating a proxy from the ABAP layer?
         We are encountering the following problem: When executing method of the proxy to call the Web Service on the J2EE engine, the CX_AI_SYSTEM_FAULT exception is triggered with the message "Unallowed RFC-XML Tag (SOAP_EINVALDOC)".
         This same problem has occurred with multiple web services, even though the proxy generation seems to execute without a problem.  Is there some system setting that could cause this?  We have run the SOAP Runtime trace, but only receive the same basic information about the problem.
         If anyone has any thoughts at all, I'd be grateful to hear them.
         Thanks,
            --Greg

    Hi,
    We encountered problems when consuming a foreign WS. It seems to be that RPC style WSDL isn't supported by the WAS 6.4 WS proxy. An interesting reading on this is
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/the difference between rpc and document style wsdl.article
    Eddy

  • How to send authentication information to SOAP Web Service using MATE framework

    Hi,
    Can anyone please tell me how to pass authentication info (such as user name & password) while calling a webservice using MATE's webserviceinvoker? the SOAP web service expects authentication info in the header.
    Thanks in advance..

    HI Swayam,
    First of all you should tell us what blogs you have seen to avoid you to repeat information that you already know.
    we want to avoid  setting up SLD configuration for sender system because  sender system is just consuming web service .
    This is not necessary,
    Please let me know  the ways we can configure . I did understand we can publish and register the WSDL from Service interface ,but was not clear on over all  scenario .
    Do you have your ECC webservice available via SOAManager?, you only to access it via soap receiver in SAP PI.
    To publish, you need to publish only the sender SOAP, when you register there the sender soap your partner could access there to get the WSDL (Publish services from PI 7.1 to the Service Registry). Also you can generate directly the wsdl (Display WSDL - Integration Directory - SAP Library), what do you want?
    Regards,

  • Calling a soap web service from a java desktop application

    Hi,
    Does anyone know how to call a soap web service from a java desktop application? I've seen examples using Apache Axis, but it sounds like Axis needs to run on a web server and we are trying to avoid that. My initial thought was that, "of course we need a web server", but I'm wondering if there is a way to do this without a web server.
    Any help is greatly appreciated.
    thank you,
    Julie

    If you are the consumer you don't need any web server. The web server is only needed in the provider end.
    In java 6 there is a built in framework to call web services without the need of third parties (such as apache axis)
    take a look at:
    https://jax-ws.dev.java.net/guide/Developing_client_application_with_locally_packaged_WSDL.html
    http://java.sun.com/webservices/technologies/index.jsp
    For the provider end there is also a built in http server to expose web service via HTTP without the need to
    use any external web server.
    take a look at:
    http://java.sun.com/javase/6/docs/api/javax/xml/ws/Endpoint.html

Maybe you are looking for