Using an external web service and XMLBeans

I have an external document/literal web service that I want to use
(call) from inside workshop. I have listed a small example at the end
of this email.
I am wondering if there is a way to call and receive from the web
service using XMLBeans. In the tutorial examples XMLBeans are only
used by marshaling and unmarshaling the xml structure into a string
which is what is actually passed according to the WSDL. However, in
this case (and I personally think in most cases) the schema is
explicitly described in the WSDL and passed as the message. I might
add the structures for my real service are much more complex and so
the value of XMLBeans is certainly applicable to them.
Clearly I can somehow save off the schema and generate XMLBeans from
it. The next step is much less clear, how do I tell my JCX to use the
beans instead of generating private classes to represent the
structures?
To be honest I am a little surprised that for 8.1 the WSDL->JCX stuff
doesn't just leverage XMLBeans by default instead of generating basic
classes. This would give the power of XMLBeans to all web service
calls.
thanks,
dave
*** Sample WSDL ***
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:tns="urn:tutorial/hello"
targetNamespace="urn:tutorial/hello"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<s:schema targetNamespace="urn:tutorial/hello">
     <s:element name="sayHelloResponse" >
<s:complexType>
<s:sequence>
<s:element name="sayHelloReturn" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
     <s:element name="sayHello" >
<s:complexType>
<s:sequence>
<s:element name="caller" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="sayHelloRequestMsg">
<wsdl:part name="message" element="tns:sayHello"/>
</wsdl:message>
<wsdl:message name="sayHelloResponseMsg">
<wsdl:part name="sayHelloReturn" element="tns:sayHelloResponse"/>
</wsdl:message>
<wsdl:portType name="HelloWorld">
<wsdl:operation name="sayHello" >
<wsdl:input message="tns:sayHelloRequestMsg" />
<wsdl:output message="tns:sayHelloResponseMsg" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloWorldServiceSoapBinding"
type="tns:HelloWorld">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sayHello">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="sayHelloRequestMsg">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayHelloResponseMsg">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldService">
<wsdl:port binding="tns:HelloWorldServiceSoapBinding"
name="HelloWorldService">
<wsdlsoap:address
location="http://localhost:18080/tutorial/HelloWorldService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

FYI, there is a XMLBeans newsgroup; w/ good feedback from the
developers:
http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.xmlbeans
Bruce Stephens wrote:
>
Hi David,
We are on the road, headed in that direction; pedal to the metal, etc.
just not there...yet.
We appreciate and value your input.
Thanks,
Bruce
David Rees wrote:
I have an external document/literal web service that I want to use
(call) from inside workshop. I have listed a small example at the end
of this email.
I am wondering if there is a way to call and receive from the web
service using XMLBeans. In the tutorial examples XMLBeans are only
used by marshaling and unmarshaling the xml structure into a string
which is what is actually passed according to the WSDL. However, in
this case (and I personally think in most cases) the schema is
explicitly described in the WSDL and passed as the message. I might
add the structures for my real service are much more complex and so
the value of XMLBeans is certainly applicable to them.
Clearly I can somehow save off the schema and generate XMLBeans from
it. The next step is much less clear, how do I tell my JCX to use the
beans instead of generating private classes to represent the
structures?
To be honest I am a little surprised that for 8.1 the WSDL->JCX stuff
doesn't just leverage XMLBeans by default instead of generating basic
classes. This would give the power of XMLBeans to all web service
calls.
thanks,
dave
*** Sample WSDL ***
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:tns="urn:tutorial/hello"
targetNamespace="urn:tutorial/hello"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<s:schema targetNamespace="urn:tutorial/hello">
<s:element name="sayHelloResponse" >
<s:complexType>
<s:sequence>
<s:element name="sayHelloReturn" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="sayHello" >
<s:complexType>
<s:sequence>
<s:element name="caller" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="sayHelloRequestMsg">
<wsdl:part name="message" element="tns:sayHello"/>
</wsdl:message>
<wsdl:message name="sayHelloResponseMsg">
<wsdl:part name="sayHelloReturn" element="tns:sayHelloResponse"/>
</wsdl:message>
<wsdl:portType name="HelloWorld">
<wsdl:operation name="sayHello" >
<wsdl:input message="tns:sayHelloRequestMsg" />
<wsdl:output message="tns:sayHelloResponseMsg" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloWorldServiceSoapBinding"
type="tns:HelloWorld">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sayHello">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="sayHelloRequestMsg">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayHelloResponseMsg">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldService">
<wsdl:port binding="tns:HelloWorldServiceSoapBinding"
name="HelloWorldService">
<wsdlsoap:address
location="http://localhost:18080/tutorial/HelloWorldService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Similar Messages

  • Using an external web service  and local element declarations

    I am attempting to use (call) an external web service from workshop
    8.1. It seems that if the web service's schema contains local element
    declarations with the same name then workshop will generate incorrect
    JCX code because it doesn't scope the generated classes.
    I think the following simple example will do a better job explaining
    than that last paragraph ;). In the following WSDL, the element
    "testLocalDec" is used inside two different element types. In XML
    Schema this is not a problem because each one is "scoped" by the
    element types its included in. However, the generated JCX (listed
    second) simply contains the testLocalDec structure twice which causes
    problems in Java.
    Is there some workaround for this? Note that making this element
    declaration in the WSDL will not work because they are different
    structures (with different names).
    Also see my next email around using XMLBeans with external services
    (since that could be a workaround if I knew how to do it).
    thanks,
    dave
    *** sample WSDL ***
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
         <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
         <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn" element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    *** generated JCX ***
    package helloTest;
    * @jc:location
    http-url="http://localhost:18080/tutorial/HelloWorldService"
    * @jc:wsdl file="#HelloWorldServiceWsdl"
    * @editor-info:link source="HelloWorldService.wsdl" autogen="true"
    public interface HelloWorldServiceControl extends
    com.bea.control.ControlExtension, com.bea.control.ServiceControl
    public static class testLocalDec
    implements java.io.Serializable
    public static class sayHelloResponse
    implements java.io.Serializable
    public java.lang.String sayHelloReturn;
    public testLocalDec testLocalDec;
    public static class testLocalDec
    implements java.io.Serializable
    public java.lang.String different;
    * @jc:protocol form-post="false" form-get="false"
    public sayHelloResponse sayHello (java.lang.String caller,
    testLocalDec testLocalDec);
    static final long serialVersionUID = 1L;
    /** @common:define name="HelloWorldServiceWsdl" value::
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
         <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
         <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn"
    element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    Hi David,
    The folks in the workshop newgroup may have a suggestion, if you could
    try your post there:
    http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.workshop
    Thanks,
    Bruce
    David Rees wrote:
    >
    I am attempting to use (call) an external web service from workshop
    8.1. It seems that if the web service's schema contains local element
    declarations with the same name then workshop will generate incorrect
    JCX code because it doesn't scope the generated classes.
    I think the following simple example will do a better job explaining
    than that last paragraph ;). In the following WSDL, the element
    "testLocalDec" is used inside two different element types. In XML
    Schema this is not a problem because each one is "scoped" by the
    element types its included in. However, the generated JCX (listed
    second) simply contains the testLocalDec structure twice which causes
    problems in Java.
    Is there some workaround for this? Note that making this element
    declaration in the WSDL will not work because they are different
    structures (with different names).
    Also see my next email around using XMLBeans with external services
    (since that could be a workaround if I knew how to do it).
    thanks,
    dave
    *** sample WSDL ***
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
    <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn" element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    *** generated JCX ***
    package helloTest;
    * @jc:location
    http-url="http://localhost:18080/tutorial/HelloWorldService"
    * @jc:wsdl file="#HelloWorldServiceWsdl"
    * @editor-info:link source="HelloWorldService.wsdl" autogen="true"
    public interface HelloWorldServiceControl extends
    com.bea.control.ControlExtension, com.bea.control.ServiceControl
    public static class testLocalDec
    implements java.io.Serializable
    public static class sayHelloResponse
    implements java.io.Serializable
    public java.lang.String sayHelloReturn;
    public testLocalDec testLocalDec;
    public static class testLocalDec
    implements java.io.Serializable
    public java.lang.String different;
    * @jc:protocol form-post="false" form-get="false"
    public sayHelloResponse sayHello (java.lang.String caller,
    testLocalDec testLocalDec);
    static final long serialVersionUID = 1L;
    /** @common:define name="HelloWorldServiceWsdl" value::
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:tns="urn:tutorial/hello"
    targetNamespace="urn:tutorial/hello"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
    <s:schema targetNamespace="urn:tutorial/hello">
    <s:element name="sayHelloResponse" >
    <s:complexType>
    <s:sequence>
    <s:element name="sayHelloReturn" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType />
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="sayHello" >
    <s:complexType>
    <s:sequence>
    <s:element name="caller" type="s:string" />
    <s:element name="testLocalDec" >
    <s:complexType >
    <s:sequence>
    <s:element name="different" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="sayHelloRequestMsg">
    <wsdl:part name="message" element="tns:sayHello"/>
    </wsdl:message>
    <wsdl:message name="sayHelloResponseMsg">
    <wsdl:part name="sayHelloReturn"
    element="tns:sayHelloResponse"/>
    </wsdl:message>
    <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHello" >
    <wsdl:input message="tns:sayHelloRequestMsg" />
    <wsdl:output message="tns:sayHelloResponseMsg" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="HelloWorldServiceSoapBinding"
    type="tns:HelloWorld">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="sayHelloRequestMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="sayHelloResponseMsg">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="HelloWorldService">
    <wsdl:port binding="tns:HelloWorldServiceSoapBinding"
    name="HelloWorldService">
    <wsdlsoap:address
    location="http://localhost:18080/tutorial/HelloWorldService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  • Bad XML from external web service and would like to change the content

    I am getting a bad XML(not valid) from external web service and I would like to change the content of the body in OSB proxy service to make it valid.
    For example
    <g:Information xsi:schemaLocation="http:// bad schema" xmlns:g="http://abc.com/t.xsd">
    <test>Test Data</test>
    </g:Information>
    should become
    <g:Information xmlns:g="http://abc.com/t.xsd">
    <test>Test Data</test>
    </g:Information>
    Do you how can I do this?

    I don't think it would be the best solution but you may try -
    1. Conver the incoming XML to string using fn-bea:serialize() function
    2. Replace the not-required content with a blank
    3. Covert the string back to XML using fn-bea:inlinedXML
    If you find any other solution, please let us know.
    Regards,
    Anuj

  • How to connect to external web service and convert XML to a table

    Hi experts,
      I need to connect to external/non-SAP web service and convert XML in that site to a SAP table?
    Is there a function call(SE37) to do this? Is it a must for me to install AS JAVA or PI and configure enterprise service? Please provide a link for me to retrieve relevant infomation, thx.

    No, you don't need PI or the Java stack for this.  You can create an ABAP proxy using the WSDL file for the web service and call the web service using the proxy class in an ABAP program.  You can transform the XML response to internal tables/structures/variables using a transformation template that you create.

  • Consume external web service and experience connection timed out issue

    Hi all,
    I followed tutorial:http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_14/jdtut_11r2_14.html to consume external web service.
    At step 2,substep 4, I experience the following error:
    "DCA-40002: The WSDL document is invalid due to the following reason: WSDLException: faultCode=PARSER_ERROR: Failed to read wsdl file at:"http://www.webservicex.net/WeatherForecast.asmx?WSDL". Caused by : java.net.ConnectException: java.net.ConnectException: Connection timed out: connect."
    I have tried to set up proxy:Tools > Preferences->Web Browser and Proxy. But it still doesn't work. Any idea?
    Thanks in advance.
    Regards,
    weiyang
    Edited by: user13304960 on Mar 15, 2012 8:42 PM
    Edited by: user13304960 on Mar 15, 2012 8:43 PM

    Hi,
    Thanks for your reply. I have tried these 2 tutorials before. Both worked well. Publish an web service by myself, then consume it with a client. It works. But for this external wsdl published by USA weather forecast, it doesn't work. Navigate to http://www.webservicex.net/WeatherForecast.asmx?WSDL through firefox, and right response is returned. I wonder why connection timed out occurred and how to deal with it.
    Could you please share your experience with me? Thanks.
    Thanks.

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

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

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

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

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

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

  • [OSB and OWSM] - External Web service stacks and frameworks

    Hi everyone ! I'm starting to read about OSB and OWSM and I'm having some doubts. I've some developments of Web services with external Stacks like CXF, JBossWS, Metro and I'd like to ask some questions:
    1- Will I be able to productively leverage all features of OSB and OWSM like creating a proxy service to add WS-* standards policies and features (WS-Security, for instance) even with these web services implemented in different stacks other than Weblogic's ?
    2- If it is possible, do these web services need to be deployed at the Weblogic server to enable the OWSM and OSB to work effectively ?
    3- Even if it is possible to use the OSB and OWSM nicely with webservices developed at external stacks and deployed at other application servers is there any reason to quit using these external web service stacks in favor of Weblogic's (like features only enabled on OSB/OWSM when the services use the Weblogic stack) ?
    I suppose that if I ignore the JAX-WS stack from Weblogic and use an external framework (like CXF) I'll lose most of the application server administration capabilities since the Weblogic server won't be able to recognize the CXF stack as it does with its own.But, the main doubt I'm in is, since OSB and OWSM might be used with external providers I probably won't need to develop my web services using the Weblogic implementation (which my team does not yet know) since there will be no features of the OSB and OWSM which can only be used with the Weblogic's stack. I would like, please, to know your oppinions about these considerations. Sorry about the long post and possible errors (I just started learning).
    Thank you!

    Hi Lupan,
    I can speak mostly to OWSM as my experience with OSB is small thus far.
    +1- Will I be able to productively leverage all features of OSB and OWSM like creating a proxy service to add WS-* standards policies and features (WS-Security, for instance) even with these web services implemented in different stacks other than Weblogic's ?+
    OWSM (10gR3) has two types of policy enforcement point (PEP) -- Gateway and Agent. The Gateway acts as a remote proxy and is neutral to the service implementation technology as long as it adheres to SOAP 1.1. In this regard you can use OWSM freely with CXF, MS implementations, etc. Agents run in-process with the service and thus have far greater restrictions on what service implementation frameworks and containers that are supported. There is some certification for AXIS 1.x running in OAS and Tomcat; but practically speaking, my recommendation for Agents is to only use within OAS 10gR3 where it is built in (and using OC4J Web Services through JAX-RPC).
    OWSM 11gR1 initially supports only agent-style (in process) PEP and is built-in to Fusion Middleware and WLS. It is only for Fusion and WLS Web Service implementations.
    OWSM is quite full-featured for WS-*.
    +2- If it is possible, do these web services need to be deployed at the Weblogic server to enable the OWSM and OSB to work effectively ?+
    "No" if using OWSM Gateway PEP. A qualified "Yes" if using OWSM Agent PEP.
    +3- Even if it is possible to use the OSB and OWSM nicely with webservices developed at external stacks and deployed at other application servers is there any reason to quit using these external web service stacks in favor of Weblogic's (like features only enabled on OSB/OWSM when the services use the Weblogic stack) ?+
    There is the manageability that you mention, but also there is the identity propagation scenario and tight security integration. Both OAS and WLS hosted services in the native stacks (JAX-RPC and JAX-WS) allow sophisticated and secure passing of identity in the request -- for instance, via SAML Assertions in the WS-Sec header -- and built-in capabilities to map the passed identity into the running service's Subject (i.e. enabling JAAS security etc.).
    In my experience this type of identity propagation functionality has either been absent or less complete in other typical implementation frameworks not closely aligned with the container security mechanisms.
    Hope this helps,
    Todd

  • Using External Web Service

    Hello All,
    I need to get data from External Web Service.
    for example from :
    http://www.w3schools.com/webservices/ws_use.asp
    I need to use it from SERVER side method for example from any Context Node SET_XXX() method.
    Thanks In Advance
    Eli

    Hi Eli,
    You can create a proxy using the external web services. Go to transation SE 80->Edit Object on the application tool bar. Select the Enterprise Services tab and select the client proxy and click create.
    select URL/HTTP Destination and just follow the menu path. The external web service will be created as a proxy(class) in SAP. you will be able to use this in your coding.
    Hope this helps.
    Sudha.

  • External Web services in WebDynpro

    hi,
    We have a requirement of developing an application which uses external web services in web dynpro.
    Does anybody have any document or link as how to go about.
    we tried working on that but when creating a Adaptive Web Sertvice Model and giving the external WSDL url we are getting an error as
    error in loading the WSDL file.
    Are there any prerequisites in order to use an External Web Service.
    PLease help.
    Thanks and regards,
    Kris

    Hi gopi krishna ,
    check the following link , it gives step by step procedure to use an external webservice in webdynpro.
    U need to configure the HTTP proxy not to get that error , all details will be available in that link , hope it will be useful check it,
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/98347a90-0201-0010-d1a6-cc4d80917d81
    Regards,
    Sam Charles J.

  • Authentication : accessing an LDAP via an external web service ?

    Hi,
    I know it is possible to use an external web service to authenticate a user on a portal.
    But I would like to know it is possible for a user to :
    - open hiw browser and navigate to the Enterprise Portal
    - the portal is asking a user and password
    - then the portal call a web service giving the user/password
    - the web service (enternal and already existing) check the authentication through the LDAP
    - the web service reply OK/NOK to the portal with a SAP USER ID (or another information)
    - the portal if authentication ok send a logon ticket to the user
    I didn't find any clear information telling it is possible.
    So if someone can help on this matter ...
    Many thanks.
    Naguy C.
    Edited by: NAGUY CAILLAVET on Feb 13, 2009 2:28 PM

    Hello,
    First, thank you Sandor for your answer.
    I understand that it is possible to create a BPEL process that exposes multiple operations/messages. This would be exactly what I need: a single process (web service) that will expose many operations. Could anyone, please, point me to such an example?
    So far I thought that there is possible to have only one operation exposed with a BPEL process, what is delimited between the receive/reply blocks (in the synchronous case).
    Regards,
    Marinel

  • Complex schemas using Document Literal Web Services

    I am trying to use document style web services and top down approach. I prepared a request, response and fault schema. In those schemas i have attributes defined. When i use WSCOMPILE, it does not generate proper classes, if the schema is too complex. It has worked only for simple schemas. Is there any other way of doing it?

    Hi!
    If you are using jwsdp 1.6 or earlier and I remember correctly this uses JAXB 1.0 for databinding, which doesnt support all schema constructs.. Even if I'm wrong on that, you could use the -f:nodatabinding option with wscompile and do your own databinding with for example xmlbeans, which supports all schema constructs and is far more flexible than jaxb 1.0 (= personal opinion ;-)
    good luck!
    /Ole

  • How to Specify Metadata When Adding Content Using iTunes U Web Service?

    I've been developing Java applications using iTunes U Web service and uploaded content to iTunes U site using iTunes U Web service without problem. Now I want to add metadata fields (name, artist name, album name, etc.) for the tracks I uploaded. It seems to me that "AddTrack" will do. So I tested it but it neither adds a track under the specified group nor updates metadata fields for an existing track. It turned out "MergeTrack" actually updates metadata fields for an existing track. So is there any way to specify metadata at the time of adding content using iTunes U Web service? And what exactly does AddTrack do? This is all about contents hosted by iTunes U site and no RSS is involved.
    I'm referring to the "AddTrack" method in iTunes U Web service:
    http://deimos.apple.com/rsrc/doc/iTunesUAdministrationGuide/iTunesUWebServices/c hapter18_section_21.html#//appleref/doc/uid/AdminGuide-CH13-SW26

    Thanks for all the replies. My question is whether there is any way to specify metadata WHEN adding content using iTunes U Web service. Specifying metadata AFTER adding content can be achieved by MergeTrack (weird naming) and it does work.
    As for setting track level meta-data in the media file and then upload it, there're several reasons against that, among which are:
    1. Some track metadata are context-dependent. A video about buildings on Michigan Ave in Chicago can be track #2 in a history course and described as "historic view of the Magnificent Mile", but the same media can also be track #5 in a landscape design course and described as something like "contemporary architecture". Setting these metadata in the media file itself is not the preferred way to do it since it implies maintaining a version of the same media for any course/group it gets uploaded to.
    2. Setting metadata in a location separate from the media file helps track the metadata change and search for media without digging into the media itself.
    3. If MergeTrack "updates" metadata, there got to be some other method that "creates" metadata - that's what a well-designed API should look like. And setting metadata in the media file is not an equivalent to a "create metadata" method call. In rickwolf's term, that implicit AddTrack should actually be made explicit so the party uploading content can explicitly specify metadata instead of having iTunes U extract metadata from the media.
    It is still not clear what "AddTrack" does exactly, maybe rickwolf is right - it's only relevant to tracks created through RSS.
    So it seems to me there is no other way to specify metadata WHEN adding content using iTunes U Web service than setting metadata in the media file. To me it is more like a design flaw.
    Message was edited by: Stone Xiang
    Message was edited by: Stone Xiang
    Message was edited by: Stone Xiang

  • How to connect to External Web Service? Error: ICM_HTTP_CONNECTION_FAILED

    Hi all,
    I have created an External Web Service, and I am trying to call the web service from SAP. I watched some tutorial and did everything like them, but I am getting this error:
    SOAP:1,023 SRT: Processing error in Internet Communication Framework: ("ICF Error when receiving the response: ICM_HTTP_CONNECTION_FAILED")
    Can someone tell me how to solve this problem ?
    Thank you in advance

    Your AS ABAP is unable to connect to the remote server, talk to your network admins.

  • Problem with MDM web services and webdynpro

    Hi MDMguru,
    I have created web services from SDN example: it reads the MDM version.
    If I use J2ee Navigator Web Services and I try  mywebservices, it works very well.
    I have created a webdynpro (from this SDN Example https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/creating%20an%20email-client%20using%20web%20dynpro%20and%20web%20services.pdf).
    I have followed step by step the example.
    But when run webdynpro and it calls my webservices it not works because it throws this exception:
    javax.xml.rpc.soap.SOAPFaultException: Exception in method getVersion. , Debug ,  , com.enel.sap.ws.component.WSComponent.VersionMDM , sap.com/tcwddispwda , J2EE_GUEST
    Can someone help me?

    It appears that %ROWTPYE is not supported directly, and that we need to create a TYPE to wrap the return data
    Thanks to Marc Thompson for the details (http://marc-on-oracle.blogspot.co.uk/2007/12/11g-database-installation-and-native.html)
    PD

Maybe you are looking for

  • Multiple Web Sites with Personal Domain Names - Overview

    I have read through the last 10 pages of these discussions and have almost worked this out, but I need some help. Problem: I want to publish and edit two separate web sites with their own, individual, personal web addresses from the same user account

  • Still Life project going horribly wrong.  Please help!

    First let me say that I am new to this board.  I've been reading here and searching to see if I could find my answer, but after doing this, reading booklets and searching the internet, I still can't wrap my mind around what I need to do and what I'm

  • CUAC 9.0.1.20

    I've installed CUAC 9.0 Premium Edition (standalone). Connection test to CUCM 9.1 is successful. I've created a Queue Device Group with CTI Gateway Devices, Service Devices and Park Devices. As soon as I sync with CUCM, it displays the following mess

  • Application is taking More than 1/2 Minute to Populate the data in the Form

    Senario 1. I have a Form where a 2 buttons is there to populate data. 2. When 1st button is clicked , it is going to do an EXECUTE_QUERY on a Block whose total data is in the count of 2lakh records and it is faster. 3. When I click on the 2nd button,

  • ICloud and Outlook 2010

    So I installed the iCloud Control Panel on my Windows 7 PC and every time I select "Calendar" in the navagation menu in Outlook, I receive a notification that Outlook is "Preparing Calendar for First Use". The problem is, I get this notification EVER