[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

Similar Messages

  • External Web Service - User and password in HTTP header

    Hi!
    How is it possible to add user and password in the HTTP header in a external web service call? 
    I have created a "Portal Service from WSDL file - Client side" with the wizard in SAP Developer Studio.  I following the Java Development Guide - Web Service Security, and use the <i>secured service connection</i>.  I have also created a new <i>System Landscape</i>, but should the new system be based on HTTP, my own PAR or what?
    How can I check that the user and password is added to the HTTP header or the SOAP envelope? Do I have to scan http traffic with a proxy as Paros or can I find the request sent from SAP EP in the logs?
    Cheers
    Asle

    Hello All,
    I have been struggling a bit while putting a reasonable security framework on a jax-rpc style web service. I'm using JWSDP1.2 to set up the webservice. I've tried to outline my problem below. Please correct me where I'm wrong.
    I've been through the Sun's WS tutorials, but they are not really clear on security. However, from them I surmised that there are two decent authentication techniques. HTTP Basic and mutual authentication (MA) . Both have their drawbacks though. HTTP Basic suffers from poor encryption while MA is a bit difficult to set up on both client and server sides. Another problem with MA is that there is no central repository for users/passwords.
    OK, what I would really like to do is use my own user database to verify users/passwords i.e. use a HTTP Basic like authentication (but at application level) but run it over SSL for encryption. It seems simple, but is it possible?
    Also, I have noted that when I use HTTP Basic on the service side, and use a java client, then setting username/password has no effect. In other words, I can always access the web-service, even with wrong username/password.
    Sorry for the long post. Hope someone can help. Thanks.

  • Difference between Direct binding ,  Web service Adapter and HTTP Binding

    Can any one help what is the differnce between
    *1) Direct binding*
    *2) Webservice Adapter*
    *3) HTTP Binding*
    I am trying to use the above service adapters as references in BPEL.
    I had invoked a web service hosted in OSB from BPEL via web service adapter and was successful
    On going through few docs came through the other two service adapters but was not able to figure out what exactly is the differnce .
    I learnt +"*Direct binding*"+ can be used to call OSB+ . How does it vary from Webservice Adapter+

    hi Eric ,
    Thanks for clarification ..
    OSB does not generate WSDL and web service adapter in BPEL mandates WSDL .
    I had to create WSDL separately and then feed into Web service adapter in BPEL to call OSB Proxy service. Though successful , felt its not an better approach.
    Please advice is there any way thatWSDL is generated in OSB itself . .if i try to create webservice on Proxy service the wsdl resulted from it has only binding and porty type .
    Is it the same case for ++Direct binding++ .I assume it should not be the case

  • JMS producer and consumer as Web service?

    Q:WSI17-Does Weblogic support JMS producers and consumers as Web service? And could
    it be Topic or Queue?

    A<WSI-17> The message style web services can be producers, consumers or both. Additionally,
    both Point to Point (Queue) and Publish/Subscribe (Topic) domains are supported.
    See the documentation at http://edocs.bea.com/wls/docs61/webServices/develop.html#1031913.
    "Elie Dagher" <[email protected]> wrote:
    >
    Q:WSI17-Does Weblogic support JMS producers and consumers as Web service?
    And could
    it be Topic or Queue?

  • Not able to use external Web service

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

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

  • 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.

  • MDB receive a message and then call an external web service

    Title basically says it all, but I'm looking for suggestions for the best way to have a message driven bean receive a message then process it and call an external web service with the results. This seems like a straightforward problem to solve but I keep getting stuck in the deployment to weblogic when I do it my way so I'm looking for new ideas.
    Basically, I have an MDB that gets deployed to WL 10.3 and receives messages just fine. Also, I have a standalone class, that runs from the command line or IDE, that can send messages to the external web service. But when I try to bring the code from the standalone class into the MDB and get it deployed, I can't get all the dependencies to resolve.
    So, is there a proper (quick and easy) way to do this? Which wizard should I be using to get Workshop to create web service client so that I can use it in my MDB project? Any suggestions to tutorials?
    Thanks,
    Matt

    Yes BusinessService is the reference point used in OSB to call a backend provider service. So we need to configure the business service based on the external service (they can be http based, jms based, etc ..)
    In your case I am assuming it is a http based web service. So below are the steps to be done:
    1. Create a business service (if you dont have a wsdl then create it as "Any soap type" else upload the wsdl as a wsdl resource and then use it) and configure the url of the business service with the URL of the external service you want to invoke.
    2. From the proxy flow, have a service callout action and select the business service. Then configure the appropriate body and header variables.
    3. Then test the proxy service from the test console, you should be able to see the response from the external service as a part of the service callout response.
    Let me know if you still have issues.
    Thanks,
    Patrick

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

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

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

  • 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

  • Entering values in Web Services ID and Description, for External Catalog

    Hi,
    I am trying to connect to an external Vendor Catalog from ERP. Pl note that we just have ERP ECC 6.0 and no SRM. I went to SPRO and followed menu path 'Materials Management >> Purchasing >> Web Services: ID and Description'. I am not sure what to enter in 1) Seq. Number  2) Name of Parameter for Web Service and 3) Call Structure COLUMNS.
    I have URL from Vendor, User Name and Password. I need to know what values are mandatory here so I can successfully connect to external Catalog. If someone can give me sample values, I can try.
    Any help is appreciated,
    Niranjan

    Update on 08/23/2011.
    We are able to connect to Vendor Catalog, select items in Cart. When I press 'Place Order' button, I see all items populated in SAP PO ME21N screen. We can then add other information and create PO. This is working great. We have another question. Heard that with ERP ECC 6.0, we can only connect 1 vendor catalog. But with SRM, we can connect more than  1 vendor catalog. Is there a BAPI or change SAP code to connect more than 1 vendor catalog from ECC 6.0 ?

  • Consuming an External Web Service using HTTPS and WS Security

    Hello everyone,
    I'm having a problem setting the security information in a SOAP header using a generated ABAP Client Proxy to consume an external web service that requires a User ID and Password in the Header section of the SOAP message.  I need to use HTTPS. I'm on a WAS 7.01 SP08 system so from my readings, SAP is supposed to be able to add the username and password into the header section of the message.  I can't seem to get SAP to add this information added to the header.
    Here are the steps that I have taken to set the security values.
    1) Created the client proxy from the WSDL in SE80.  Basic Authentication on the Configuration tab was turned on automatically.
           Note, Transport Security is set to None.  I cannot change it.
    2) Created an outbound set user name profile in transaction WSPROFILE with the appropriate username and password.
    3) Added the profile to the default port in transaction LPCONFIG as an outbound under the WS Security section of the screen.
    When I called the external Web Service, I got back the following error message:
    com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
    So, after reading through this Forum, I saw that I needed to use the SOAMANAGER.  I set up a Proxy in the SOAMANAGER and manually created the Logical Port.  This was the only way I could figure out how to set the Authentication Settings in the Logical Port to "User ID / Password".  I then entered the User ID and Password.
    However, I am still getting the same error message.  I feel I am close but missing some small configuration to tell SAP to use WS Security with a Username token.
    I'm not sure what I'm doing wrong, so any help would be appreciated.
    Thanks,
    Stephen

    I had this error again so I thought I would post my solution:
    The issue is SAP needs to know the certificates being used by the web site being called.  These certificates are automatically installed in your browser but need to be manually installed in SAP.  This is what I did:
    How to find/install new certificates
    Make sure you run Internet Explorer as an Administrator so you can export the certificates
    Go to the web site that SAP is trying to call in Internet Explorer
    Double click on the lock in the address bar
    View certificates
    Find the certificates that are being used
    Tools --> Internet Options --> Content --> Certificates
    Click on the “Trusted Root Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Click on the “Intermediate Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Go to STRUST in SAP
    Import the Certificates in the “Anonymous” or “Standard” SSL client
    Save
    RESTART the ICM via t-code SMICM  <-- Critical!!!
    Test

  • Front End internal and external web services

    Hi all,
    Can someone explain the purpose of internal and external web services URL in front end server. what does it do and what is it used for? and why the external traffic goes directly to it and not through reverse proxy?
    Thanks,

    They're for multiple purposes.  Address books, autodiscovery, meeting urls, mobile clients, etc.  There are two because they respond slightly differently based on whether the client is internal or external.  External traffic should always reach
    it through a reverse proxy, that reverse proxy should proxy traffic received on port 443 to port 4443 on your front end pool.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications
    This forum post is based upon my personal experience and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • 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.

  • 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>

  • Call of an external web service out of the ABAP-Stack

    Hi experts,
    i have to implement a call of an external webservice out of the ABAP-stack. Directly from an ABAP-report, not using any PI/XI.
    The only thing the one implemented the service could give me was a description of the SOAP-call which should take place (see code below). So i should pass some data, call the function 'makeACall', and receive some data. But i have no idea how to use the calls of the include SOAPINCL. Is there any example showing the 'translation' of such a SOAP-message into an ABAP-stack-call?
    Thanks and regards
    Christian
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:XXX="urn:nsf">
    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" id="_0">
    <makeACall xmlns="urn:nsf">
         <in xsi:type="xsd:string">
              <BaseApp>
                        <Control>
                             <Plugin><![CDATA[]]></Plugin>
                             <Function><![CDATA[]]></Function>
                             <Configuration><![CDATA[]]></Configuration>
                             <ConfigurationName><![CDATA[]]></ConfigurationName>
                        </Control>
                   <Input>
                        <DetInput>
                             <CustomerData>
                                  <Record><![CDATA[]]></Record>
                                  <Record><![CDATA[]]></Record>
                             </CustomerData>
                             <otherData>
                                  <GroupId><![CDATA[]]></GroupId>
                             </otherData>
                        </DetInput>
                   </Input>
              </BaseApp>
         </in>
    </makeACall>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

    Hi,
    BAM has a set of default web services. You can implement your own web service call and populate the data object with corresponding codes. For instance, if you would want to monitor 2 web services, create a data object with two columns.
    This web service would run every minute and populate the data object columns with 1/0 depending on the state. You could create a chart from this data object to display the status of the web service.
    Please explore more into how to implement web services using BAM. BAM already has few of them and you need to add yours to this.
    Cheers,
    -AR

Maybe you are looking for

  • DataExport in Business Rules

    Hi, is there a way to make the DataExport calcscript command works in Business Rules ? I made the script below to export data in a calcscript and it works fine. //ESS_LOCALE French_France.MS1252@Default SET DATAEXPORTOPTIONS DataExportLevel "LEVEL0";

  • How to return the result ( fields ) form using the BDC in background mode ?

    hi, I am now having to develop a sub routines for executing the transaction COR1 using BDC ( transaction SHDB ) , in the FORM i pass the 4 params for the fields of the screens of the transaction ( COR1 is used for creating the process order ) , and a

  • User account with no Internet, but using file server

    I am trying to set up my classroom to where the Internet is only accessible through an Internet User account. I have set up the Internet user and eliminated access to the Internet applications in the Student account. Here are the loopholes when logge

  • RE: Re: Disabling console in WLS 6.1

    "Well just deleting console.war from .wlstaging donot solve it. I found out console.war is copied from weblogic.jar (as it is bundled there. Also I seems if I remove console.war from weblogic.jar and try to run the server it gives me following error:

  • Mavericks with Multiple Monitors?

    I keep my tool pallets arranged on my second monitor. Ever since I upgraded to Mavericks Photoshop, InDesign and Illustrator all lost my workspace settings whenever the monitors go to sleep. I can restore everything by chooseing Reset Workspace, but