Dynamic wsdl

We have an application where some attributes are known in
advance, and described in the WSDL. We call a web service using the
WSDL and everything goes fine. However some other attributes can be
user-defined and are not known in advance to the application and
are not in the WSDL. When we try to send a web service call it
seems like Flex is removing the parameters that we try to send, if
they are not in the WSDL. Is there a way to get a web service
operation send() to send some extra parameters that are not in the
WSDL? Would dynamically modifying the WSDL in our code be the right
way to do it, or is there some simpler way? Thanks.

Hi,
you might want to give the WSIL service a try. It returns information on all services in a nice XML.
the URL is http://<your_server>:<port>/sap/bc/srt/wsil?sap-client=<nnn>
you should cache the results though since depending on the number of your services and configurations this might return a lot of data and therefore is probably not suitable to be called prior to each actual service call.
regards, anton

Similar Messages

  • JAX-RPC - dynamic wsdl - non-built-in data types

    I thought my recent exp with developing a JAX-RPC client using a dynamic wsdl to communicate to a non-weblogic Web Service might help somebody out there. :-)
    JAX-RPC Mechanism in Weblogic for dynamic_wsdl seems to work only with built-in data types. Weblogic also supports non-built-in data types, but you need to do some extra work! For the user-defined objects, you need to generate their types and register them.
    Note: The samples given in Weblogic 8.1 do not use non-built-in data types!
    Make sure you use the ant task "autotype" in your build.xml to generate the appropriate types (objects to support java-xml and xml-java converstion), types.xml from the wsdl. Register the types.xml file in your calling client code.
    If you do not use register the types for the user-defined classes used in the web services method signatures, then you are likely to get the foll. exception.
    javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementw
    eblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface javax.xml
    .soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.wsdlgen.jipi
    lot.vodafone.com']:getStock}
    C:\Tutorial\WS\dynamic_wsdl>ant run
    Buildfile: build.xml
    run:
    [java] Creating the service...
    [java] Creating the call...
    [java] invoking the call....
    [java] javax.xml.rpc.JAXRPCException: failed to invoke operation 'getStock' due to an error in
    the soap layer (SAAJ); nested exception is: Message[ failed to serialize interface javax.xml.soap.SO
    APElementweblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface
    javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.ws
    dlgen.jipilot.vodafone.com']:getStock}]StackTrace[
    [java] javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementw
    eblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface javax.xml
    .soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.wsdlgen.jipi
    lot.vodafone.com']:getStock}
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
    [java] at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
    [java] at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:645)
    [java] at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
    [java] at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at Main.main(Main.java:61)
    [java] Caused by: weblogic.xml.schema.binding.SerializationException: mapping lookup failure. c
    lass=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVod
    afonePooled.wsdlgen.jipilot.vodafone.com']:getStock}
    [java] at weblogic.xml.schema.binding.RuntimeUtils.lookup_serializer(RuntimeUtils.java:151)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:187)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:174)
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:324)
    [java] ... 9 more
    [java] ]
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:578)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at Main.main(Main.java:61)
    [java] Exception in thread "main"
    [java] Java Result: 1

    The foll. code worked fine for me in Weblogic 8.1 SP3, on Windows 2000.
    Note: the 2 important lines of code:
    TypeMappingRegistry registry service.getTypeMappingRegistry();
    registry.registerDefault(new DefaultTypeMapping("types.xml"));
    package auth;
    import java.net.URL;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.encoding.TypeMapping;
    import javax.xml.rpc.encoding.TypeMappingRegistry;
    import weblogic.webservice.core.encoding.stream.SOAPElementCodec;
    import javax.xml.rpc.encoding.*;
    import weblogic.webservice.encoding.DefaultTypeMapping;
    public class DClient1 {
    static private void print(String msg) {
         System.out.println("DClient1: " + msg);
    public static void main(String[] argv) throws Exception {
    System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
    System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    ServiceFactory factory = ServiceFactory.newInstance();
    String targetNamespace = "http://www.vishwa.com/amazingworld";
    QName serviceName = new QName(targetNamespace, "GeminiPasswordService");
    QName portName = new QName(targetNamespace, "GeminiPasswordServicePort");
    QName operationName = new QName("", "checkPassword");
    URL wsdlLocation = new URL("http://localhost:7001/GeminiPasswordService/GeminiPasswordService?WSDL");
         print("Creating the service...");
    Service service = factory.createService(wsdlLocation, serviceName);
         print("Creating the call...");
    Call call = service.createCall(portName, operationName);
         TypeMappingRegistry registry = service.getTypeMappingRegistry();
         registry.registerDefault(new DefaultTypeMapping("types.xml"));
         print("invoking the call....");
    Object[] inParams = new Object[2];
    inParams[0] = "clark1";
    inParams[1] = "kent1";
    Object result = call.invoke(inParams);
    print("Client return value: = " + result.toString());
    QName operationName1 = new QName("", "getBook");
    print("Creating the call...");
    Call call1 = service.createCall(portName, operationName1);
    print("invoking the call....");
    Name n = new Name();
         n.setFirstname("Walker");
         n.setAge(50);
         Object[] inParams1 = new Object[1];
         inParams1[0] = n;
    Book b = (Book) call1.invoke(inParams1);
    print("author: " + b.getAuthor());
    print("money: " + b.getMoney());
    }

  • Flex 4 Web Service Introspection For Dynamic WSDL Locations

    In Flex 3, introspecting a web service resulted in a constructor that allowed the location of the web service to change at runtime.  It appears that the Web Service introspection tool now only allows the single WSDL URI that was specified in the WS Wizard.  It this the case or am I just missing something?
    Flex 3 introspected services would create a service class with the following constructor signatures:
    private var service:MyWebService;
    service= new MyWebService(null, wsdlLocation);  // With parameters
    or you could use:
    service = new MyWebService(); //with no parameters
    In Flex 4, it appears that you can only use:
    service = new MyWebService();
    So if you don't know the web server location until runtime, am I going to need to manually override the instrospected/generated _super_MyWebService.as class in order to get back the ability to point to different servers at runtime?
    Anyone know why this has changed, or what the "new" way the Flash Builder 4 web service introspection tool uses for dynamic servers?
    Thanks a bunch!

    In Flex 4, it appears that you can only use:
    service = new MyWebService();
    add
    service.wsdl = "your wsdl";
    However if you want this to work you have to remove the hardcoded wsdl from the
    superclass otherwise it will not reset it,
    C

  • Dynamic WSDL Client troubles

    First I would love a dynamic client example that actualy used the wsdl type generated by Workshop. BEA's example is using the "URN:" format not using their own format.
    I havent been able to get the example dynamic client to work yet against their generated wsdl for my simple method
    which has no inputs or outputs.
    I am getting the following error and need help, Im not sure where to go from here.
    Any pointers would be very welcome.
    ERROR{
    javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAP
    Elementweblogic.xml.schema.binding.SerializationException: mapping lookup failur
    e. class=interface javax.xml.soap.SOAPElement class context=TypedClassContext{sc
    hemaType=['http://www.openuri.org/']:test}
    at weblogic.webservice.core.DefaultPart.invokeSerializer(Ljavax/xml/soap
    /SOAPElement;Ljava/lang/Object;Lweblogic/xml/stream/XMLOutputStream;Lweblogic/xm
    l/schema/binding/SerializationContext;)V(DefaultPart.java:332)
    at weblogic.webservice.core.DefaultPart.toXML(Ljavax/xml/soap/SOAPElemen
    t;Ljava/lang/Object;Lweblogic/xml/schema/binding/SerializationContext;ZLjavax/xm
    l/rpc/encoding/TypeMapping;)V(DefaultPart.java:297)
    target service{
    package testset;
    * @editor-info:link autogen-style="stateless" source="TestImpl.jcs" autogen="true"
    public class TestTest implements com.bea.jws.WebService
    static final long serialVersionUID = 1L;
    /** @common:control */
    public testset.Test test;
    /** @common:operation
    public void test()
    { test.test(); }
    Client {
    public void run(String wsdl_url,String service_url,String namespace,String jws_name,String conn_port,String operation,String[] args) throws Exception {
    // Setup the global SAAJ 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");
    // create service factory
    ServiceFactory factory = ServiceFactory.newInstance();
    if (service_url.length() == 0){
    service_url = "http://www.themindelectric.com/wsdl/";
    if (namespace.length() == 0){
    namespace = "net.xmethods.services.stockquote.StockQuote";
    if (wsdl_url.length() == 0){
    wsdl_url = "http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl";
    if (operation.length() == 0){
    operation = "getQuote";
    if (jws_name.length() == 0){
    jws_name = namespace+"Service";
    if (conn_port.length() == 0){
    conn_port = namespace+"Port";
    // define qnames
    String targetNamespace = service_url+namespace+"/";
    QName serviceName =
    new QName(targetNamespace,
    jws_name);
    QName portName =
    new QName(targetNamespace,
    conn_port);
    QName operationName = new QName(targetNamespace,
    operation);
    URL wsdlLocation =
    new URL(wsdl_url);
    //new URL("http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl");
    // create service
    Service service = factory.createService(wsdlLocation, serviceName);
    // create call
    Call call = service.createCall(portName, operationName);
    // invoke the remote web service
    Float result = (Float) call.invoke(args);
    System.out.println("\n");
    System.out.println("This example shows how to create a dynamic client"+
    "application that invokes a non-WebLogic Web Service.");
    System.out.println("The webservice used was:"+
    "http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl");
    System.out.println("The quote for BEAS is: ");
    System.out.println(result);
    }

    Hi,
    When I add a valueChangeListener for the App selection, the method is called before the ExecuteWithParams action is run. This means that I cannot get the new value for the Table selection list. And since I never know both the value of App and the value of Table, I cannot force the dynamic table to refresh.
    did you try to execute the query within the managed bean and then access the iterator to obtain the value ?
    Frank

  • Dynamic WSDL URL

    Hello,
    Does anyone know how to set the WSDL URL on an Xcelsius web connection from code or using a flash variable? I have a situation where the dashboard is shipped to multiple self-contained web sites and the WSDL needs to be hosted locally on each.
    Regards,
    Gilbert

    Hi Gilbert,
    just for my general understanding.
    If the same WSDL comes from different server and from each server the WSDL-definition is equal, you just need to create the mapping once with one WSDL. At runtime you can change to Web-Service URL dynamically then.
    From my understanding this should work.
    Dynamically loading new WSDLs with different definitions and accordingly creating different excel-mappings/data bindings for each WSDL at runtime won't work.
    Although dynamic data binding would be a nice and probably necessary feature.
    Regards,
    Roman

  • Dynamic wsdl for web service proxy

    Hi,
    I have generated the Web service proxy client based on wsdl used in dev env,
    if i have to deploy to production, i have to manually change the WSDL url to point to production.
    Is there anyway, I can deploy without changing manually.
    thanks

    thanks all from the prompt replies.
    I still have a query. All i can do is create various WS references in connections.xml and call dynamically. like
    Context ctx = ADFContext.getCurrent().getConnectionsContext();
    WebServiceConnection wsc = (WebServiceConnection) ctx.lookup("MyConnection1"); // here i can make a dynamic call ...
    but this piece of code can work only in UI. what if i need to do the same approach in model from my AM.
    Is there a way ??

  • Dynamic WSDL address

    I have some web services being consumed by a flex app.
    The services were interfaced with using the Service wizard in Flash Builder. For different instances of the application I want to be able to point them to different end points. The problem being if I ever remove the original services that the code was created against they fail to load. Because every time the app runs it loads the WSDL from the location it was when I ran the Service Wizard.
    So I guess my question is,
    Is there any way to prevent a flex app with generated service code from trying to load the original WSDL location?
    I can change the end point by changing the sub-class for the service using:
            super._serviceControl.endpointURI = newurl;
    However I can't seem to force it to load the WSDL from a different location.

    Not sure I understand your question. The problem is when you generate the
    webservice you get that line by default with the hardcoded wsdl location. I
    think that prevents the call to that loadWsdlIfnecesary() because it does not
    consider it necessary anymore. So you're stucked with the hardcoded url event if
    you try to set it again when you use your service:
    myservice.wsdl = "new url"; will set the new wsdl value but never use it when
    making the call:
    myservice.doSomething();
    by commenting the hardcoding line and running again the same code
    myservice.wsdl = "new url";
    myservice.doSomething();
    you'll get myservice to use the new wsdl.
    You can load your application make a call to an xml (using UrlLoader or
    HTTPService or a diffrent webservice) get the url and store it somewhere when
    you can retrieve it later when you need to make the call to the webservice. Then
    you do something like the line above set it and make the call.
    The cleanest way to go about it is to use  a framework like Parsley which let's
    you configure the wsdl string inside an external property file. From there it
    gets inside your context and then injected inside commands/delegates.
    Hope this make sense and helps you,
    C

  • How to use wsdl in dynamic client

    In wls 700, I want to know how to write a dynamic client to invoke a webservice by
    passing wsdl?
    In the example directory, there is an example, but I would like to know how I can
    customize to use my own wsdl? clientgen puts wsdl in client jar file why is that?

    Hi fkeita,
    If you haven't already done so, you should check out the following link in the BEA
    product documentation:
    http://edocs.bea.com/wls/docs70/webServices/client.html#1049007
    Outside of that, you can always stayed tuned to the "dev2dev" page :-)
    Regards,
    Mike Wooten
    "fkeita" <[email protected]> wrote:
    >
    Hi Mike,
    Can you elaborate more how I can find the url of wsdl?
    Do you know any documentation which explains the process of using dynamic
    clinet?
    Thanks.
    "Michael Wooten" <[email protected]> wrote:
    Hi fkeita,
    The client.jar contains a "static" WSDL, because some folks like to avoid
    making
    a network (or internet) call to retrieve the "dynamic" one :-)
    If you try to use "user-defined" types, with a WSDL and a "dynamic" client,
    you will
    experience "difficulties". This is due to the way the JAX-RPC defines the
    createService()
    method on the ServiceFactory class. Normally, this is the method you pass
    the URL
    to the WSDL you want to use. Currently, we call the WSDL parser in this
    method, which
    has a "side-effect" of needing to have the type mappings for your "user-defined"
    types, already registered when it is called. With "stub-style" clients,
    this is not
    a problem (because the plumbing does this for you), but with "dynamic"ones
    it doesn't.
    Right now, the only real workaround is to have your client class extend
    our weblogic.webservice.core.soap.SOAPElementImpl
    class, as in the following code fragment:
    #### START OF EXTRACT #####
    import javax.xml.rpc.Call;
    import javax.xml.rpc.namespace.QName;
    import weblogic.webservice.core.rpc.ServiceImpl;
    public class ServiceClient extends ServiceImpl
         public ServiceClient(String schemeHostPort) throws Exception
    // We pass the URL for the "dynamic" WSDL in the
    // first argument. The second argument is the
    // path to the XML file that the <clientgen> Ant
    // task recorded your typemapping info in. It is
    // in your client.jar, along with the "static"
    // WSDL I mentioned :-)
              super(
                   (schemeHostPort == null ? "http://localhost:7001" : schemeHostPort)
    +
    "/mea/gateway?WSDL",
                   "examples/webservices/jaxrpc/consumer/anamitra/dii/MEAGatewayService"
              //define qnames
              String targetNamespace = "http://www.bea.com/examples/MEAGateway";
              QName serviceName = new QName( targetNamespace, "MEAGatewayService" );
              QName portName = new QName( targetNamespace, "MEAGatewayServicePort");
              //create call
              Call call = super.createCall(
                   portName,
                   new QName(targetNamespace, "processExternalDataBatch")
              ArrayList alist = new ArrayList();
              alist.add(new String("One"));
              alist.add(new String("Two"));
              alist.add(new String("Three"));
              alist.add(new String("Four"));
              alist.add(new String("Five"));
              String result = (String)call.invoke( new Object[]{ alist } );
              System.out.println("result=" + result);
         public static void main( String[] args ) throws Exception
              System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
              System.setProperty("javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
              new ServiceClient(args[0]);
    //private:
         private final static boolean debug = false;
    ### END OF EXTRACT ###
    Happy coding :-)
    Regards,
    Mike Wooten
    "fkeita" <[email protected]> wrote:
    In wls 700, I want to know how to write a dynamic client to invoke a webservice
    by
    passing wsdl?
    In the example directory, there is an example, but I would like to know
    how I can
    customize to use my own wsdl? clientgen puts wsdl in client jar file why
    is that?

  • WSDL dynamic

    Hi Everyone,
    I have a WSDL generated by a Function Module Web Service
    Development:
    [http://dev.xxx.com:1080/sap/bc/srt/wsdl/bndg_4B9BE30395435803E10000000A01F005/wsdl11/allinone/ws_policy/document?sap-client=777]
    Quality:
    [http://quality.xxx.com.sa:1080/sap/bc/srt/wsdl/bndg_4BAB28C7E0C8132FE10000000A01E719/wsdl11/allinone/ws_policy/document?sap-client=777]
    The binding key from developement & Quality differes.
    How can we get the WSDL URL Dynamically?
    Can anyone help.
    Thanks in Advance.
    Gokul.N

    Issue has been resolved.
    [Dynamic WSDL;
    Regards,
    Gokul.N

  • Getting NullPointerException when trying to view wsdl on browser.

    I have an enterprise application which is basically a spring web service.
    I have used "org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" for dynamic wsdl generation.
    I use the following spring libraries spring ,
    spring-jpa.jar
    spring-oxm-1.5.8.jar
    spring-oxm-tiger-1.5.8.jar
    spring-web-2.5.jar
    spring-webmvc.jar
    spring-ws-1.5.8-all.jar
    spring-ws-core-1.5.8.jar
    spring-ws-core-tiger-1.5.8.jar
    spring-ws-security-1.5.8.jar
    spring-ws-support-1.5.8.jar
    spring-xml-1.5.8.jar
    spring.jar
    And I use xmlparserv2.jar as xml library. Because If I don't use this library I get "oracle.xml.jaxp.JXDocumentBuilderFactory not found" exception.
    Other xml libraries I use are: xercesImpl.jar, xml-apis.jar, XmlSchema-1.3.2.jar, xalan-2.7.0.jar, xdb.jar, xml.jar, xschema.jar
    The issue is, application is deployed in weblogic 10.3.2 on a linux box.
    Application is deployed fine, it is working fine. Request and response all are working as expected. But when I want to see wsdl, I am getting NullPointerException.
    Application is deployed in the url: http://localhost:7001/springws-example
    The exception I am getting is at the url: http://localhost:7001/springws-example/springws.wsdl
    where springws.wsdl would be the wsdl name, with which it could be accessed.
    This exception is occuring only on linux boxes. I have tested in two linux boxes, it behaves the same way.
    In windows I have weblogic 10.3.3 , where everything is working fine. Wsdl is loaded on browser and soap end point address is updated with correct hostname, port and context root.
    The exception I am getting is as follows,
    Exception
    java.lang.NullPointerException
    at oracle.xml.parser.v2.XMLDocument.getDocumentURI(XMLDocument.java:2114)
    at org.springframework.ws.transport.http.LastModifiedHelper.getLastModified(LastModifiedHelper.java:50)
    at org.springframework.ws.transport.http.WsdlDefinitionHandlerAdapter.getLastModified(WsdlDefinitionHandlerAdapter.java:113)
    at org.springframework.ws.transport.http.MessageDispatcherServlet.getLastModified(MessageDispatcherServlet.java:245)
    Has anyone come across this issue?
    Even if not, people having knowledge on linux and weblogic.. please help.
    Thanks in advance.
    Edited by: 851334 on Apr 11, 2011 4:07 AM

    How did you map your spring-ws servlet?
    <servlet>
            <servlet-name>spring-ws</servlet-name>
            <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
            <servlet-name>spring-ws</servlet-name>
            <url-pattern>*.wsdl</url-pattern>
    </servlet-mapping>and what properties did you configure?
    <bean id="something" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
        <property name="schema" ref="schema"/>
        <property name="portTypeName" value="MyPort"/>
        <property name="locationUri" value="http://localhost:7001/springws-example/service/"/>
        <property name="targetNamespace" value="http://middlewaremagic.com"/>
    </bean>In this case the WSDL could be reachable at http://localhost:7001/springws-example/service/something.wsdl

  • OSB 11g - Apache Webserver - WSDL location redirecting to OSB server

    Hi,
    In our case we have a OSB server running on a dev machine and a Apache server is installed which receives the requests from the vendor and forwards the requests to the OSB. I have a Proxy Service on the OSB which is WSDL based and this is accessed by the vendor.
    The DMZ only allows requests from the vendor to the web server and not to the OSB.
    From client's end when they send the WSDL request http://*<webserver_ip>*/endpoint-uri?wsdl to the webserver, the WSDL is sent back to the client. But in that WSDL the service endpoint location points to the OSB server (http://*<osb_ip>*/endpoint-uri?wsdl). Upon receiving this the client tries sends the request to OSB server directly which is blocked by the DMZ. The client should have got the response as http://*<webserver_ip>*/endpoint-uri?wsdl so that it could send the request to the web server and not the OSB server. The calls to the OSB server are not allowed by the DMA. Because of this their call to invoke the data is not successful.
    I tried hard coding the URL http://<webserver_ip>/endpoint-uri?wsdl in the WSDL and then use it but still the problem is not resolved. Still in the endpoint address location in the WSDL the IP of the OSB is sent and not the IP of the web server.
    What can I do so that the WSDL which is sent to the vendor has the service endpoint location as http://<webserver_ip>/endpoint-uri?wsdl and not http://*<osb_ip>*/endpoint-uri?wsdl.
    Thanks,
    Sanjay

    I tried hard coding the URL http://<webserver_ip>/endpoint-uri?wsdl in the WSDL and then use it but still the problem is not resolved. Still in the endpoint address location in the WSDL the IP of the OSB is sent and not the IP of the web server.
    The url in the port section of the wsdl resource is never used in the effective wsdl generated by OSB. Instead you can use weblogic Frontend host/port properties for solving this.
    The below describes the rule how weblogic computes the hostname part of the URL in the generated wsdl's for its deployed web services:
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv/setenv.html#wp220945
    # If the Web Service is deployed to a cluster, and the cluster Frontend Host, Frontend HTTP Port, and Frontend HTTPS Port are set, then WebLogic Server uses these values in the server address of the dynamic WSDL.
    # If the preceding cluster values are not set, but the Frontend Host, Frontend HTTP Port, and Frontend HTTPS Port values are set for the individual server to which the Web Service is deployed, then WebLogic Server uses these values in the server address.
    # If these values are not set for the cluster or individual server, then WebLogic Server uses the server address of the WSDL request in the dynamic WSDL.

  • Dynamic currency converter

    I am following the guide provided
    HERE to build a currency converter. The static converter works very fine, but I am having issue while building dynamic version of it. 
    Basically, I have designed it as below:
    1) Data flow task: Uses a sql query to get a distinct list of all the currencies being used in the fact table and store into a recordset object 'ObjCurrency'
    2) Foreach loop container:
    Iterates through all the values in 'ObjCurrency' and each value gets stored in CurrencyCode
    2.1) Script task: A message box is used to show the current currency code
    2.2) Web service task: As stated in the above guide, I am sending the CurrencyCode variable as a 'FromCurrency' and 'USD' is my 'ToCurrency' to get a dynamic WSDL for every CurrencyCode
    2.3) XML task: Used to get 'ConversionRateResponse'
    2.4) ScriptTask1: A message box is used to show the current ConversionRateResponse
    I am getting an error at 2.2 and the error is:
    [Web Service Task] Error: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Could not execute the Web method. The error is: Method 'ProxyNamespace.CurrencyConvertor.ConversionRate'
    not found..
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebMethodInvokerProxy.InvokeMethod(DTSWebMethodInfo methodInfo, String serviceName, Object connection)
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil.Invoke(DTSWebMethodInfo methodInfo, String serviceName, Object connection, VariableDispenser taskVariableDispenser)
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".
    Can someone please help me with this?
    Thank you in advance.

    Hi rockstar283,
    Based on my research, the issue always caused by the data type of input variable mismatch for the Web Service. For example, the input type for web service is String, the variable was of type Object. Obviously SSIS Web Service Task will not implicitly do
    a .toString() call on the input variable. So the issue occurs.
    To fix this issue, please change the type of the variable. For more details, please refer to the following similar thread:
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/1073ad37-ed05-4ab4-85e3-689e1cd17a68/ssis-web-service-task-error-with-wcf-service
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • SWF in SAP BSP Pages - Dynamic webservice connection

    Hi,
    We are using webservice connections in xcelisus to connect to webservices on R3.
    In the webservice connection , we have imported the wsdl from sap and generated the connection.
    Then we have the Hostname and port of SAP server in the webservice connection.
    Once the development is completed and swf is generated , we have created a bsp application and placed the swf file in it on our SAP Dev system.
    So now when we access the bsp application on Dev, the Dev webservice is called in the swf and data is retrieved.
    Once the bsp is transported to QA system , as the webservice in swf is still pointing to Dev system, the data is retrieved from the Dev system only.
    Is there a way to use falsh variables and dynamically call the webservice on the SAP system , based on the system it is called from, so that when we call the bsp application on QA system , it call the webservice on QA system instead of the one on Dev system.
    Thanks,
    Tanuj

    Hi Tanuj,
    unfortunately this is not possible within Xcelsius, take a look at following thread:
    Re: Dynamic WSDL URL
    Regards
    Victor

  • WSDL endpoint protocol for process

    We have a number of processes in LiveCycle being used as web services called from a PDF embedded in workspace.
    The processes are split across three Livecycle ES2 nodes with JBoss 4.2.
    When I consume the WSDL via https in Designer I would expect for the endpoint to point to the cluster name on https too. However, The generated WSDL marks the wsdlsoap:address location with an http prefix rather than https
    This is causing the service call lookups to break ! I know this is the cause as when I run this on the only box which can bypass the load balancer (which is also doing SSL termination), everything works.
    Anyway I can get to this binding via orchestration at all ??

    Hi Garry,
    You can use a custom Data Type named "WebServiceSettingsBean" in a LiveCycle process. This process can be configured to have a dynamic WSDL binding.
    I hope that may helps.
    Nith

  • WSDL problems with webservices deployment

    First, the problem: I need either to 1) be able to include a WSDL file as part of my ear-file deployment and have that WSDL be presented to consumers if they seek to browse the wsdl, or 2) get the dynamic WSDL generation to show public, https urls for schemaLocation and soap:address locations in the dynamically-generated WSDL.
    Configuration: Apache 2.2.3 proxy server receiving https requests and passing them back to a WebLogic 10.3.5 instance running on the internal network. The WebLogic instance has several applications running on it, and these applications make SOAP web service invocations between each other. Use case: public consumer makes https web service invocation to a publically-available url to invoke Service A, which in turn invokes a web service, Service B, running on the same WebLogic instance. The invocation from Service A to Service B is a localhost invocation since it's behind the firewall.
    What I'm seeing: if I browse the WSDL for Service A from the public area, the wsdl displays the server name and port in the schemaLocation and soap:address urls in the wsdl file. I, of course, don't want this, as I want the wsdl to display the publicly-browseable values (e.g. "https://www.seenbypublic.com:443/ws/UtilityService..."). So, I configure the server via the WebLogic admin console and specify a "Frontend Host" of www.seenbypublic.com, and a Frontend HTTPS Port of 443. I set the "WebLogic Plugin Enabled" flag via domain > Web Applications. I configure Apache (which already has the WL module installed) to use the following parameter "RequestHeader set WL-Proxy-SSL true" and restart everything. The server location changes in the dynamically-generated wsdl, but the server port does not (i.e. the urls in the wsdl are now http://www.seenbypublic.com:80/ws/UtilityService... (note the lack of SSL designation). Another problem is that now my same-server web service invocations that were taking placing using "localhost" are now using "www.seenbypublic.com" so instead of a local-box invocation, the request is coming out into the public domain and then back to the server, which is highly inefficient.
    So.... ideally, I'd be able to leave all the WebLogic "Frontend" settings alone, not mess with the WL plugin in Apache, and simply provide a wsdl url to my application to display when generating it's wsdls (or just let me provide the entire wsdl file as a resource). Is there any way to do that?
    Assuming no, what do I need to do to get the proper reflection of SSL designation in a dynamically-generated wsdl file? And - how can I tell WL to leave the "localhost" invocations alone?
    How's that for a Friday-afternoon problem?

    Hello,
    thank you for your answer. It was my mistake, I discribe the problem very bad.
    When i call the function get_frob(). Netbeans goes in the function and run through the end but nothing happened
    onMouseClicked: function( e: MouseEvent ):Void {
                         test=Authentikation_Frob.get_frob();and in my if clausel there will be a wrong output! After the output my programm go back to the function get_frob() and then make the request and go back to the if clausel. Now everything ist correct. But why does my programm need 2 runs ????thats not correct!!
    Thank you!!
    if (test==true)
                             var Authentikation_Link:HTTP_Authentication_Link=new HTTP_Authentication_Link();
                            link=Authentikation_Link.get_link();
                            var uri = new java.net.URI("{link}");
                             var desktopClazz = java.lang.Class.forName("java.awt.Desktop");
                             var getDesktopMethod = desktopClazz.getMethod("getDesktop");
                             var desktop = getDesktopMethod.invoke(null);
                             var browseMethod = desktopClazz.getMethod("browse", [uri.getClass()] as java.lang.Class[]);
                              browseMethod.invoke(desktop, uri);
                         else
                             fehler_ausgabe.visible=true;
                             fehler_ausgabe.content="Fehler {Authentikation_Frob.frob_fehler} {Authentikation_Frob.frob_hilfe}";
                         }Edited by: Esco24 on Aug 10, 2009 1:02 AM

Maybe you are looking for