Redirecting a web-service client dynamically?

I have a development server, and a real world server. I also
use the web service wizard to general stubs for consuming web
services else where. The WSDL is identical on both my dev server
and my real world server, but I can't figure out how to dynamically
redirect my application to the real world servers, leaving me no
option but to delete the local references and add the references to
the real world server prior to release.
Anyone know how to dynamically repoint the auto-generated
classes?

I handle urls and pathing by passing root urls into my
applications via flashvars in the html wrapper. That allows a lot
of flexibility, both in development and in production.
However, I do not Use the generated code and do not know how
to prevent the autogeneration process from overwriting manual
changes. Do you regenerate a lot?
Tracy

Similar Messages

  • Dynamic and embeddable web service client

    Hello,
    I want to write a web service client application that can run on JSE (not requiring JEE5, J2EE 1.4, an enterprise server or anything). This should be no problem with JSE6. However, I would like the client application to run on embedded devices (cell phones, PDA's etc.) as well. So I would like to know if web service clients are supported by the embedded JAVA runtimes in such devices. One additional requirement is that the webservices will only be accessible over SSL. So all clients will need support for SSL as well.
    The other problem (and probably the more difficult one) is this: Using the WDSL file, stubs for the client can be generated. However, the WDSL files (at least the ones generated by the SUN enterprise server) contain the IP-address of the server. In the final deployment of the system the IP-address of the server will be different from the one of the development system. Secondly, the same service might be deployed on different servers and needs to be accessible from the same client. So I'm looking for a mechanism to still use stubs generated from the WDSL file, but dynamically configure the IP address of the server to which the client should connect.
    Any help here is greathly appreciated.

    Hey Rishika,
    You don't need tomcat to run a client. A web service client does not need a container and can be run without it.
    Karan

  • Dynamic Logical Port for Web Service Client

    Hi *!
    We want to use the same Web Service Client code with different Web Service instances running on different systems. So I need to configure the logical port (especially the URL of the endpoint) dynamically at runtime.
    Please give me a hint, how this is done.
    (we are using WebAS 6.40 SP7)...
    Thanks in advance,
         Frank

    Hi Frank,
    I hope you were able to solve your issue on you own in the meantime.
    I was looking for the answer to this question today. This was the only thread I found on SDN. Unfortunately, it did not contain an answer yet. I was able to figure out a way to set the endpoint address dynamically after searching help.sap.com and after examining the interfaces offered by the Stub (logical port in this case) classes.
    Here's an extract from my code:
    // Connect to JNDI context
    InitialContext ic = new InitialContext();
    // Get reference to web service proxy from JNDI context
    Z_MSC_GET_SCHEDULE_WSDService service =
         (Z_MSC_GET_SCHEDULE_WSDService) ic.lookup("wsclients/proxies/iot-online.de/msc~srv_ejb~proxy/de.iot_online.msc.proxy.ScheduleReaderProxy");
    // Get reference to logical port from web service proxy
    Z_MSC_GET_SCHEDULE_WSD logicalPort = service.getLogicalPort();
    // Set URL of web service Endpoint
    logicalPort._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "http://<FQDN>:8010/sap/bc/srt/rfc/sap/Z_MSC_GET_SCHEDULE_WSD?sap-client=100");
    This is explained on
    http://help.sap.com/saphelp_nwce10/helpdata/en/45/113a1221337249e10000000a155369/frameset.htm
    You can also set the credentials (username / password) with the method _setProperty.
    Best regards
    Christian

  • Web service client type

    Hi,
    I am new to web services. I need to write a web service client that invokes a web service method. The method takes complex types as parameter and returns a complex type.what kind of client(static stub, dynamic proxy or DII) should I use to invoke such kind of method from a standalone java application?
    Thanks in advance.

    yes, you are right. stubs must be regenerated when the service definition changes. But is it possible to write a standalone client using dynamic proxy to invoke a web service method that uses complex types as parameters?.

  • Web service client needs to share data with a SOAP Message Handler

    I have a web service client that is built using WebLogic 10 clientgen. I also have a Soap Message Handler configured that will create the required Soap Headers for the web service call.
    Creating these Soap Headers works great as long as the header data is static but the problem comes up when I need to place some dynamic data in these headers. The web service client has this data and somehow needs to pass it to the Soap Message Handler. It looks like I need to somehow have the client place this data in the MessageContext before the call so the data can be accessed by the Soap Message Handler.
    How do I get access to the MessageContext from the client or is there a better way to do this?
    Thanks in advance for any help you can give.

    You may want to check the response to this previous post to see if it yields any ideas for you:
    Not able to Pass header info to Microsoft MapPoint WebService using WLS10

  • RPC style web service client

    hi,
    i am new to web service technology. i want to create dynamic web service client for a "rpc" style web service in Netbeans.
    please, can anybody guide me for this?
    thanks in advance.

    Hi,
    To avoid creating new topic I will put my question here.
    I try to create new web service (rpc-style) client in netbeans. I have rpc plugin installed. In ejb module node I right click > new > web service client >
    I fill all filds, chose rpc-style and > after clicking finish - error occur:java.lang.LinkageError: com/sun/xml/rpc/processor/generator/Names
         at org.netbeans.modules.websvc.registry.util.Util.getParameterType(Util.java:856)
         at org.netbeans.modules.websvc.registry.jaxrpc.WrapperClientWriter.printOperations(WrapperClientWriter.java:275)
         at org.netbeans.modules.websvc.registry.jaxrpc.WrapperClientWriter.writeClass(WrapperClientWriter.java:219)
         at org.netbeans.modules.websvc.registry.jaxrpc.Wsdl2Java.createWrapperClients(Wsdl2Java.java:305)
         at org.netbeans.modules.websvc.registry.jaxrpc.Wsdl2Java.execute(Wsdl2Java.java:229)
         at org.netbeans.modules.websvc.registry.util.Util.createWSJar(Util.java:493)
         at org.netbeans.modules.websvc.registry.RegistryViewImpl.registerService(RegistryViewImpl.java:221)
         at org.netbeans.modules.websvc.registry.RegistryViewImpl.registerService(RegistryViewImpl.java:159)
         at org.netbeans.modules.websvc.registry.netbeans.RegisterViewImplNetBeansSide.registerService(RegisterViewImplNetBeansSide.java:91)
         at org.netbeans.modules.websvc.jaxrpc.client.wizard.ClientBuilder.generate(ClientBuilder.java:330)
         at org.netbeans.modules.websvc.jaxrpc.client.wizard.JaxRpcClientCreator$2.run(JaxRpcClientCreator.java:319)
         at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
    I use netbeans 6.5. In my project I choose java ee 5 as in 1.4 there is no web service client option
    Any ideas?
    I found some rpc tutorils for netbeans 4.0 but I wonder why it couldn't be done in netbean 6.5
    Regards,
    Lech

  • Web-service client for legacy web service

    I currently access a legacy server (Lotus Domino 7) via CORBA. I thought a web service (my second) would be faster, but a whole day's research has uncovered only obsolete or trivial examples.
    The WSDL generated by the server is rpc/encoded so wsimport cannot generate the necessary "artifacts" for a web service client.
    The web service is simple: it accepts two java.lang.Strings, and returns a java.lang.String of XML. The "dynamic proxy" approach from 1.4.2 seems to have disappeared; I was hoping that approach would let me just hand-code a single "artifact" - an SEI based on the method information in the WSDL.
    1) What classes in JAX-WS will let my web service client communicate with rpc?
    2) With such a simple signature, do I need any other "artifacts" beyond an SEI?
    Thanks for any help!

    In case anyone's search leads them here, I've posted the solution at:
    *[http://www.pby.com/general.nsf/webarticles/dominowebservice01]*
    It is an exhaustive article (not "Hello World"!) that goes through several versions of the web service and client - hopefully explaining all* pieces of the puzzle:
    ~ web service code,
    ~ WSDLs
    ~ schema
    ~ thoroughly-documented clients that do and do not use JAXB
    ~ ... that use generated artifacts
    ~ ... that customize existing POJOs
    ~ the SOAP messages generated in each direction
    ~ the necessary JAXB annotations
    ~ explanations of how the code works
    ~ explanations of how namespaces affect the code
    ~ on and on and on...
    My constant goal was to write an uncomplicated solution that uses as few artifacts (two) and annotations as possible. The end result is a small, fast JAX-WS 2.0 client that uses JAXB to invoke and consume a secured Domino 7 (1.4.2 JVM + AXIS) web service, using RPC/literal SOAP messages.

  • What Web service client does Omniportlet use?

    Does the omniportlet uses direct SOAP calls for Web service or use AXIS calls??
    Thanks
    JO

    Hello,
    As you may know OracleAS / JDeveloper has its own Web Service runtime and set of Tools. Omniportlet uses the Oracle AS Web Service Client API and WSDL tools to invoke dynamically SOAP based Web Services.
    I am curious to know why are you asking this question? Do you have specific requirements?
    Regards
    Tugdual Grall

  • Change jsp's in web service client when creating a web service in WID

    Hi, Actually , when we a web service, on websphere Integration Developer,JSP's get generated after creating the web service client.
    Those JSP's are named as input.html, invoke.jsp etc, I need to change the jsp's for good look and feel,
    But I am unalble to do that as there is no configuration information included in the jsps created by default, Please let me know, if any has come across this kind of situation and knows how to deal with.

    Hi,
    Not sure if you can get answer to WID specific questions on the Oracle-WebServices forum. Here, we are mainly talking about SOAP and WSDL, and mostly with the Oracle OC4J implementation.
    When you generate a static proxy, you can set the endpoint URL dynamically using a helper method on the class generated by JDeveloper - look for setEndpoint()
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Stub;
        public void setEndpoint(String endpoint) {
            ((Stub) _port)._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, endpoint);
        }The generated code uses the JAX-RPC APIs under the cover, which may also apply to Websphere's internal implementation.
    Hope it Helps,
    -Eric

  • XML Parser Error while creating Web service Client using JAX RPC

    hello evryone,
    Im facing XML Parser Error while creating web service client using JAX RPC. Im using Net Beans IDE for development purpose. I have wrote configuration file for client. Now i want to create Client stub. However i dont know how to do this in Net Beans. So i tried to do it from Command promt using command :
    wscompile -gen:client -d build -classpath build config-wsdl.xml
    here im getting Error:
    error parsing configuration file: XML parsing error: com.sun.xml.rpc.sp.ParseException:10: XML declaration may only begin entities
    Please help me out.
    Many thanks in advance,
    Kacee

    Can i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.

  • How to prevent downloading wsdl in weblogic web service client

    Hi,
    I get a problem regarding weblogic web service client. My working environment:
    weblogic server 8.1
    Windows XP SP2
    JDK 1.4
    I use the weblogic tool to generate the client jar file from the wsdl file.
         <target name="generate-client">
              <clientgen wsdl="ACCESS.wsdl"
                   packageName="xxxxxx.client"
                   clientJar="${client}/${AccessClient_jar_file}"
                   keepGenerated="true"
                   saveWSDL="true"
              />
              <javac srcdir="${source}"
              destdir="${client}"
              includes="**/AccessClient.java">
              <classpath>
              <pathelement path="${client}/${AccessClient_jar_file}"/>
              </classpath>
              </javac>
         </target>
    After that, I create a client java file to invoke the service deploy in the server.
    public static void main(String[] argv)
    throws Exception
         int transactionId = 100;
         int id = 1000;
    // Setup the global JAXM message factory
    System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
    // Setup the global JAX-RPC service factory
    System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    AccessServicePorts ws = new AccessServicePorts_Impl(argv[0]);
    AccessService port = ws.getAccessService();
    // Resource - create
    Resource resource = new Resource();
    resource.setRES_CD("Create ResCo");
    resource.setCODE_CODE("code_cod");
    resource.setRES_TYPE("Resource typ");
    resource.setCOMMON_FIELD(common);
    AccessDefaultResult resultItems = port.createResource(resource);
    System.out.println("createResource : " + resultItems);
    I find that this web service client always issue 2 http requests to invoke an web service method deployed in server.
    1st http reqeust:
    GET /AccessEpol/EpolServiceSoap?WSDL HTTP/1.1
    User-Agent: Java/1.4.2_08
    Host: 127.0.0.1:8001
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Connection: keep-alive
    the return result is the wsdl downloaded from the server.
    2nd http request is the real web service request.
    The question is how could I eliminate the 1st http request because it's really unnecessary. I use other web service client like Axis 1.x, Axis client never has the http request to download the wsdl from the server.
    I read through weblogic web service document. It do mentions that put saveWSDL="true" in the clientgen ant task. the default value for saveWSDL is true already. I did try saveWSDL="false" also. None of them can eliminate the 1st http request.
    appreciate for any answer my question?

    Hi David,
    thanks for the reply.
    More or less I agree some points you mentioned above.
    I did use Axis 1.x to test the inter-operability. The web service was developed in Weblogic 8.1 and is a part of an existing web application. It will be merged to existing application deployed in weblogic 8.1.
    I also program the web service client to test the web service.
    The implementation of the server and client will be handed over the project team and training for supporting or continuous development have to be conducted by me. So I don't like to use two types of technologies which will make thing complex.
    I found this issue when I tried to protected the web service endpoint, eg http://localhost:7001/epol/service, using the web application Basic mechanism. The wsdl URL http://localhost:7001/epol/service?WSDL is also protected in this case. Unfortunately the username/password pair is not sent to the server when the weblogic client download the WSDL from the server. In this case, the client failed and throw exception.

  • Error creating a web service client from th WSDL document (soamanager)

    Hello everyone,
    we have generate with the wizard a web-service using the function module BAPI_CONTROL_RECIPE_GET_LIST. Then we have generated with SOAMANAGER the end point. As test, we have used a web-service explorer of Eclispe and we can retrieve without problems the data.
    Then we wanted to generate the web-servcie client with Eclipse Galileo (3.5.0) wiith the server GlassFish v2.1 Java EE 5 we first installed the WSIT jars, in order to support WS-RM protocol
    We have started the generation based on the document obtainend within the soamanager under the "Open WSDL document for selected binding" link.
    We have tried it several times and we always got the following error is:
    IWAB0399E Error in generating Java from WSDL: WSDLException (at /wsdl:definitions/wsdl:portType/wsp:Policy):
    faultCode=INVALID_WSDL: Encountered unexpected element 'Policy'.: <br>
        WSDLException (at /wsdl:definitions/wsdl:portType/wsp:Policy): faultCode=INVALID_WSDL: Encountered unexpected element 'Policy'.:
    at com.ibm.wsdl.util.xml.DOMUtils.throwWSDLException(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.parsePortType(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:516)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
    at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
    at java.lang.Thread.run(Unknown Source)
    Do you know if we took the right document in order to generate the web-service client? Do we need to have some specifics settings in the configurations of th endpoint? (provider security, transport settings, etc...?)
    If needed, or if someone would be nice enough to try to generate it on its side, I can post here the whole wsdl document, but due to its length, I first wait your comments.
    Thanks a lot in advance for your feed-back
    best regards
    Pierre-André
    addtions:
    maybe this should have been better posted within the forum Service-Oriented Architecture than standards?
    I forgot to mention the following threads, which seems to me to be somehow in this direction. But I do not get really how I could use them, or how is is releated.
    Edited by: Pierre-andre Jacquod on Sep 23, 2009 4:02 PM

    Hi,
    I am facing the same issue while generating the client java class from IBM RAD 6.0.
    Here is the error I am getting.
    WSDLException (at /wsdl:definitions/wsdl:portType/wsp:Policy): faultCode=INVALID_WSDL: Encountered unexpected element 'Policy'.:
         [java] at com.ibm.wsdl.util.xml.DOMUtils.throwWSDLException(Unknown Source)
         [java] at com.ibm.wsdl.xml.WSDLReaderImpl.parsePortType(Unknown Source)
         [java] at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
         [java] at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
         [java] at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
         [java] at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
         [java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:516)
         [java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
         [java] at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
         [java] at java.lang.Thread.run(Thread.java:571)
    Please guide me to resolve this issue.
    Thanks & Regards,
    Vijay

  • Oracle Database Web Service Client using UTL_DBWS :: ORA-29532 Error

    Hi,
    I have the Oracle Database 10.2.0.1.0 :-
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - ProductionI have written a simple Web Services Client using the classes gfrom the UTL_DBWS package. I loaded the JAR file dbwsclient.jar in the SYS Schema and I am trying to use it in the USF Schema.
    However, I have hit this error & I ma unable to proceed :-
    SQL>  select get_stock_price from dual;
    select get_stock_price from dual
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.lang.IllegalAccessException: javax.xml.rpc.ServiceException:
    java.security.AccessControlException: the Permission
    (java.lang.RuntimePermission getClassLoader) has not been granted to USF. The
    PL/SQL to grant this is dbms_java.grant_permission( 'USF',
    'SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
    ORA-06512: at "USF.UTL_DBWS", line 193
    ORA-06512: at "USF.UTL_DBWS", line 190
    ORA-06512: at "USF.GET_STOCK_PRICE", line 17Can you please help me with this ?
    Regards,
    Sandeep

    Hi,
    The error message said
    the Permission(java.lang.RuntimePermission getClassLoader) has not been granted to USF.
    I'd follow the suggestion
    The PL/SQL to grant this is dbms_java.grant_permission( 'USF','SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
    In case you have not done so, consult the Callout Users Guide @
    http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    Kuassi http://db360.blogspot.com

  • Deploying Web Service clients to earlier versions of AS

    Hello,
    I'm using JDeveloper to create web service proxy for existing service to use in my Web Service client. For development, I'm using JDeveloper 10.1.3.3, for deployment of client application I'm using Application Server 10.1.3.0.
    The problem is that AS 10.1.3.0 contains other versions of the libraries, for example, wsclient.jar, so, there's an error using Web Service Proxy (stub) as method setSOAPVersion() doesn't exist.
    The question is how can I use generated stub with earlier versions of Application Server.
    I've tried some things, but they didn't work. Maybe I did something wrong and step-by-step guidelines to deploy application are needed - I hope, it could be useful not only for me.
    So, I found JDev 10.1.3 Release Notes (http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.0.3/readme.html) and the following abstract:
    Workaround for URL / WS Data Control Apps When Deploying to Third Party Application Servers or Oracle Application Server 10.1.2 (4931009)
    1. Copy the following JAR files to your target application server along with the rest of the ADF installed JAR files. The following JAR files are available under your JDeveloper's home directory.
    bc4j/jlib/dc-adapters.jar
    bc4j/jlib/adf-connections.jar
    j2ee/home/lib/http_client.jar
    webservices/lib/wsdl.jar
    webservices/lib/orajaxr.jar
    webservices/lib/orawsrm.jar
    webservices/lib/wsclient.jar
    webservices/lib/orasaaj.jar
    webservices/lib/xsdlib.jar
    webservices/lib/mdds.jar
    jlib/osdt_core.jar
    jlib/osdt_cert.jar
    jlib/osdt_xmlsec.jar
    jlib/osdt_wss.jar
    jlib/osdt_saml.jar
    jlib/ojpse.jar
    jlib/oraclepki.jar
    webservices/lib/wssecurity.jar
    webservices/lib/orawsdl.jar
    j2ee/home/jazncore.jar
    2. Shutdown the application server and modify the application server's class path to include all of the JAR files that were extracted from the archive. Please refer to the application server documentation for details on how to modify the class path.
    3. Restart the application server. You are now ready to deploy / run the application successfully.
    So, I've created a new Shared Library with Enterprise Manager, uploaded all this files and, deploying application, checked this library too. This didn't help.
    Thanks in advance, Valeriy

    Hi Valeriy,
    I have exactly the same problem. Have you been able to resolve this yet?
    Thanks
    Stu

  • Setting timeout of web service client

    I created a web service client using the java proxy for
    a web service by running my web service in weblogic workshop test browser and by using
    the jar file created by clicking on "Java Proxy" button.
    i am calling my web service my adding code similar to this and it works
    HelloWorld_Impl proxy = new HelloWorld_Impl();
    HelloWorldSoap soapProxy = proxy.getHelloWorldSoap();
    But, i am not sure how to set the timeout of my client programatically.
    Is there a way to do this ?
    Any help is greatly appreciated.

    Anyway,
    I figured it out myself, by looking at other posts and applying some reflection API
    HelloWorld_Impl proxy = new HelloWorld_Impl();
    HelloWorldSoap soapProxy = proxy.getHelloWorldSoap();
    // I learnt that this soapProxy is infact an object of HelloWorldSoap_Stub class
    HelloWorldSoap_Stub myStub = (HelloWorldSoap_Stub)proxy.getHelloWorldSoap();
    BindingInfo bInfo = (BindingInfo)myStub._getProperty("weblogic.webservice.bindinginfo");
    bInfo.setTimeout(5); //secs
    myStub._setProperty("weblogic.webservice.rpc.timeoutsecs", "5"); // secs
    // finally you can call the methods of the web service
    soapProxy.Hello();
    Please be aware that, upon time out, you would get an exception : <class = java.rmi.RemoteException
    cause = javax.xml.rpc.soap.SOAPFaultException: javax.xml.rpc.JAXRPCException:java.net.SocketTimeoutException: Read timed out.>
    Also, my env : Weblogic 8.1 SP4

Maybe you are looking for