Web service discover its own URL?

Hi,
Our web service (JAX-RPC based) needs to be able to discover its own URL, preferably at startup time.
What is the best way of doing this? If there is no generic JAX-RPC way, then maybe there is some specific (Axis) way?
Many thanks for any hints!
Guy

Hi Ulli,
I tried your suggestions, but unfortunately it doesn't quite work. CL_WDR_UTILITIES=>CONSTRUCT_APPLICATION_URL gives me sap/bc/webdynpro/sap/zz_ira_tree which is not bad, but what I really need is HTTPS://ICX.WDF.SAP.CORP:443/sap/bc/webdynpro/sap/zz_ira_tree. Is there a way of getting this at run time or do I need to put it in a customizing table?
Also, I don't know how to define parameters for the application I tried to add my parameter "partner" to the tab Parameters of the application, but I got an error "PARTNER is neither a predefined parameter nor a parameter of the starter plug". And I don't know how to define parameters for the starter plug... Could you give me some more hints?
Thanks,
Ira

Similar Messages

  • Create Web Service System using WSDL URL

    Hi,
    Please help me create a Web Service System.
    Following is the test result when I perform Connection Test after creating a system
    Test Connection with Connector
      Test Details:
    The test consists of the following steps:
    1. Retrieve the default alias of the system
    2. Check the connection to the backend application using the connector defined in this system object
      Results
    Retrieval of default alias successful
    Connection failed. Make sure that Single Sign-On is configured correctly
    Thanks,
    Atul

    Let me reiterate my problem.
    I created the System as following
    Creating System's Object:
    1) Go to System Administration 
    2) Go to System Configuration 
    3) Go to Portal Content on Object Based Navigation Area (Right Side Panel)
    Note:  For avoiding confusion it is recommended to create a folder in which we are creating System Object.
    4) Right Click on Portal Content, select New -> System (from Template) 
    5) This action will display a new view on right side, now choose Web Service System using WSDL URL radio button from the existing templates. Click Next
    6) Give the System Name  i.e. System_WS and System Id  (which are mandatory fields) incase you want to give any brief notes about the system then give it in Description field.  Click Finish.
    8) Choose Open the object for editing Click OK. 
    9) Now to create a Web Service System, we need WSDL URL. 
    10) There are lots of freely available WSDL files on internet, search for any such WSDL file. 
    11)  In the Properties area of system give the appropriate WSDL URL
    12) Choose System alias, from display menu and give alias as System_WS.
         This alias name will be the name of Web Service System.
    I used the following url
    http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
    After the system is created,
    1) Right click on the created system> open > object
    2) Drop down for Display options is changed to Connection Tests from what it shows as object
    3) Check the check box for the test name Connection Test for Connectors
    4) Result shows that the connection failed. The error message was posted in my first question.
    Thanks,
    Atul

  • Invoking a web service with the WSDL URL given at run time

    I have created a very Simple Web Service using Netbeans 6.0 as an EJB Module. I have successfully created clients to access the web service, both through a Composite Application and through a simple Java Desktop Application, using the create "New Web Service Client" option, either by pointing to the EJB project either by providing the WSDL URL.
    What I want now, is for the Java Desktop application to be able to consume the service after it has discovered the WSDL URL at runtime (e.g. through UDDI).
    From what I have been able to find on the web, I should use the javax.xml.ws.Service class. But when I attempt to use the getPort method I get the exception:
    "com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class mypackagename.jaxws.MyWebServiceName is not found. Have you run APT to generate them?"
    Since I know that this class is not needed for the Web Service to be accessed, when the two procedures I describe above are used, I wonder what I can do to get this to work.
    I have tried using apt from the command line but it can't find Java EE classes, so it doesn't work.
    Nikos

    Hi Yarecki,
    I'm afraid I'm also a newbie, and I'm feeling my way around things.
    I have written some code. However, you should be warned that... it doesn't work!
            String wsdlLocation;//=...some URL...
            String input;//=...XML...either SOAP message either SOAP payload
         try{
             java.net.URL wsdlURL = new java.net.URL(wsdlLocation);
                //these should be extracted from the service WSDL document
                java.lang.String serviceName = "CalculationServiceService";
                java.lang.String portName = "CalculationServicePort";
                String namespace = "http://localhost:8080/CalculationServiceService";
                javax.xml.transform.Source inputSource = new javax.xml.transform.stream.StreamSource(new java.io.StringReader(input));
                javax.xml.namespace.QName serviceQName = new javax.xml.namespace.QName(namespace, serviceName);
                javax.xml.namespace.QName portQName = new javax.xml.namespace.QName(namespace, portName);
                javax.xml.ws.Service service = javax.xml.ws.Service.create(wsdlURL, serviceQName);           
                javax.xml.ws.Dispatch<javax.xml.transform.Source> dispatch =
                      service.createDispatch(portQName, javax.xml.transform.Source.class, javax.xml.ws.Service.Mode.MESSAGE);
           //javax.xml.ws.Dispatch<javax.xml.transform.Source> dispatch =
               //service.createDispatch(portQName, javax.xml.transform.Source.class, javax.xml.ws.Service.Mode.PAYLOAD);
    //alternative method, with different input
                javax.xml.transform.Source replySource = dispatch.invoke(inputSource);
                javax.xml.bind.JAXBContext jc = javax.xml.bind.JAXBContext.newInstance(nikos.test.CalculationResult.class);
                javax.xml.bind.Unmarshaller unm = jc.createUnmarshaller();
                nikos.test.CalculationResult result = (nikos.test.CalculationResult)unm.unmarshal(replySource);
                System.out.println(result.getResult());
            } catch (JAXBException ex) {
                JOptionPane.showMessageDialog(this, ex);
                ex.printStackTrace();
            } catch (MalformedURLException ex) {
                ex.printStackTrace();//this should not happen.
            }In fact I'm getting a weird error
    javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
            at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:187)
            at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:108)
            at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:187)
            at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:206)
         //lines from my source code are here
    Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
            at com.sun.enterprise.security.jmac.config.PipeHelper.makeFaultResponse(PipeHelper.java:328)
            at com.sun.enterprise.security.jmac.config.PipeHelper.getFaultResponse(PipeHelper.java:366)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:223)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
            at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
            at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
            at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
            at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
            at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
            at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
            at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
            at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
            at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:200)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:129)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
            at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Caused by: java.lang.NullPointerException
            at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:163)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
            ... 39 moreAs I've said before I've called this web service successfully using three different methods.
    It appears it has something to do with security issues, but I've no security at all...

  • Sending document to oracle xml gateway web service and body is url encoded

    Hello,
    a question from a complete newbie to web services. I have some code that is sending a soap message to an oracle xml gateway web service. In the soap message the values in the soap body look like &lt ;CNTROLAREA&gt ;
    when I would be expecting <CNTROLAREA>. What I have been told is that the content of the ReceiveDocument element has been url encoded which causes the &lt and to correct it I need to change the paramater type from object to xmlnode and to build the request as an xmldocument. The xmlnode and xmldocument comes from a .net guy so I've been trying to find the equivalent in java but am not having any luck. I have a lot of reading to do but was wondering if someone might be able to point me in the right direction on how to correct the problem. I captured the soap message being sent using tcpmon. Why does the body have the &lt instead of the < as I was expecting and is there an xmldocument type? The header part of the soap message looks as I expect. "><soapenv:Header><ns1:XMLGateway_Header xmlns:ns1="http://xmlns.oracle.com/apps/fnd/XMLGateway"><ns1:MESSAGE_TYPE>XML</ns1:MESSAGE_TYPE>. It is being sent as a com.oracle.xmlns.apps.fnd.XMLGateway.XMLGateway_Header type.
    thanks
    Thanks
    Edited by: twf123 on May 5, 2010 11:59 AM
    Edited by: twf123 on May 5, 2010 12:00 PM

    twf123 wrote:
    What I have been told is that the content of the ReceiveDocument element has been url encoded which causes the &lt and to correct it I need to change the paramater type from object to xmlnode and to build the request as an xmldocument. Where do you change the parameter type?
    The xmlnode and xmldocument comes from a .net guy so I've been trying to find the equivalent in java but am not having any luck. How do you get the data from .net guy? Which interface do you use? What processing do you do after receiving the data?

  • Accessing external web service with non-constant URL

    Hello, all
    I am looking in the documentation on accessing external web services, but either I am looking in the wrong place, or the documentatoin is lacking info.
    My clients have several web services in the local network (regular services, not DB-based), the have the same interface, but different URL's.
    Versions of the DB are 11, 12, and 16.
    First of all, I do not see in the specs an option for a non-hardcoded URL. The logic says that this has to be possible, but I cannot find it.
    Second, I need to see an example of accessing an XML or JSon based service, I cannot find it in the specs either.
    Can anyone point me to a document with examples?
    Thank you
    Arcady

    The following will call a web service with whatever URL you pass in as the argument "myurl".  I think that is what you are looking for.
    CREATE PROCEDURE cli_test2( myurl LONG VARCHAR )
    RESULT( httpheaders long varchar, httpvalues long varchars
    URL '!myurl'
    To deal with the resulting data in XML, use the OPENXML() function.
    eg. To turn an XML list of employees that looks like this:
    <root>
    <row EmployeeID="102" Surname="Whitney" GivenName="Fran" StartDate="1984-08-28"/>
    </root>
    into a table of results, you would do this (where xmlgetemplist() is the web service call):
    CREATE OR REPLACE PROCEDURE xmlgetemplist() RESULT( httpheader long varchar, httpbody long varchar)
    URL 'http://localhost/demo/xmlEmployeeList'
    TYPE 'HTTP:GET';
    create variable res long varchar;
    -- call the web service
    select httpbody into res from xmlgetemplist() where httpheader = 'Body'
    -- extract the XML elements into a SQL result set
    select * from openXML( res, '/root/row' ) WITH ( EmployeeID INT '@EmployeeID',
           GivenName    CHAR(20) '@GivenName',
           Surname      CHAR(20) '@Surname',
           PhoneNumber  CHAR(10) '@Phone');
    To deal with the resulting data in JSON, use the sp_parse_json() procedure.
    eg.
    To turn a JSON formatted list of employees that looks like this:
    "EmployeeID": 102,
    "Surname": "Whitney",
    "GivenName": "Fran",
    "StartDate": "1984-08-28",
    "TerminationDate": null
    into a table of results, you would do this (where jsongetemplist() is the web service call):
    CREATE OR REPLACE PROCEDURE jsongetemplist() RESULT( httpheader long varchar, httpbody long varchar)
    URL 'http://localhost/demo/jsonEmployeeList'
    TYPE 'HTTP:GET';
    create variable foo long varchar;
    --call the webservice
    select httpbody into foo from jsongetemplist() where httpheader = 'Body';
    --turn the json result into a structured array of data
    -- this step is required because of less structured nature of JSON
    call sp_parse_json( 'output_array', foo);
    --extract the JSON elements from the output array into a SQL result set
    SELECT  output_array[[row_num]].EmployeeID as EmployeeID,
                   output_array[[row_num]].SurName as SurName,
                   output_array[[row_num]].GivenName as GivenName,
                   output_array[[row_num]].StartDate as StartDate,
                   output_array[[row_num]].TerminationDate as EndDate
    FROM sa_rowgenerator(1, CARDINALITY(output_array))
    Hope this helps,
    --Jason

  • Handling Web Service's End Point URL in ADF

    Hi experts,
    Would like to seek for advice on handling the availability of the End Point of a Web Service.
    I'm tying to catch the availability of the URL but, it seems that they are throwing different exception.
    Case 1: End Point URL (in enterprise manager) : set to Blank.
    - This is OK
    Case 2: End Point URL (in enterprise manager) : put prefix in the URL
    - ex. aaaahttp://<wsdl URL>
    - This will throw a malformed URL exception and will not proceed.
    Case 1: End Point URL (in enterprise manager) : put suffix in the URL
    - ex. http://<wsdl URL>BBBBBBBBB
    - for some reason, even if I put a suffix in the endpoint URL, the URL is still valid. But in reality, it should be invalid.
    Now, For this 3 cases, I would like to have a standard exception/error message. Do you think it's possible considering the behavior of the web service? Any tips would be gladly appreciated.
    Thanks...

    Hi,
    C) in fact is a valid URL, only that it has not matching WS endpoint. So beforte invoking a WS you wouldneed to test a URL call to the URL to see if this is answered. However, there is a case D) you don't mention which is when http://<wsdl URL>BBBBBBBBB references a valid URL (but just the wrong from the perspective of the WS you use it with. How do you handle this case ?
    Here's some code snippet you can use to access the connection from within the WS client
    Context ctx = ADFContext.getCurrent().getConnectionsContext();
    WebServiceConnection wsc = (WebServiceConnection) ctx.lookup("MyAppModuleService");
    wsc. (...)"MyAppModuleService" is the name of the connection.xml entry for the Web Service connection you created at design time.
    Frank

  • Firefox will not open any web pages including its own introduction pages.

    I downloaded Firefox to try out.
    When I first opened Firefox on this computer, it failed to open any web pages and continues to do so.
    I have downloaded it on two other laptops with the same configuration with no issues.
    Google Chrome is working on this machine.

    Update..when I open firefox from scratch, the main firefox pages on the home page seem to work. But as soon as I try to go anywhere else, IE going to a website in the address bar or even trying to access the defauly bookmark links, it just sits there loading but never brings anything up.

  • I need to put a web page in its own folder

    I'm designing a site in Muse and a couple of pages have to be stand-alone and accessed by the user typing the address directly like, www.site.com/info
    So, I need to put a page names index.htm in the folder info. How can I do this with? The stand-alone pages use the same assets and graphics etc as the main site.
    Many thanks,
    K.

    Hi Kevin,
    Based on our customers feedback, we are constantly evolving and adding features to Muse. Our goal is to provide you one of the best website designing software and we are heading towards our goal steadily.
    Regards,
    Aish

  • Web Service @EJB injection isn't working

    I'm running WebLogic Server 10.0 MP1
    I have a local interface:
    @Local
    public interface Login {
         boolean loginUser( String username, String password );
    }And an implementation:
    @Stateless
    @Local
    public class LoginBean implements Login {
         public boolean loginUser(String username, String password) {
              if (username != null && password != null && username.equals("test")
                        && password.equals("password")) {
                   return true;
              return false;
    }Those are bundled up in service.jar
    I also have a Web Service:
    @Stateless
    @WebService(name = "LoginService", targetNamespace = "http://my.namespace/here")
    @WLHttpTransport(contextPath = "services", serviceUri = "LoginService")
    public class LoginService {
         @EJB(name="bLogin")
         private Login login;
         @WebMethod
         public boolean login(String username, String password) {
              return login.loginUser(username, password);
    }The webservice is bundled into LoginService.war by the jswc ant task.
    LoginService.war and services.jar are together bundled into my .ear file with an appropriate application.xml, and the web console shows both the web service and EJB as being deployed with the EAR.
    When I access the LoginService, I always get a NullPointerException on the return login.loginUser() line (and a println indicates that in fact login is null).
    So WebLogic isn't injecting my bean into the login variable, however there are no warnings or errors on the console.
    I have seen http://forums.bea.com/thread.jspa?threadID=300003881 but that doesn't help, as my web.xml is generated by jswc and I verified that it always sets the version to 2.5 and namespace properly.
    One other interesting tidbit: If I set beanName to something crazy (like "foo") on the @EJB annotation in LoginService, I DO get an error (at deployment time) in the server log saying that the ejb-link for 'foo' wasn't found. So the lookup appears to be happening (though there is nothing about an ejb-link in the web.xml, I expect that it is implicitly happening at deploy time from the @EJB annotation) just not the actual injection.
    Thoughts?

    Since it looks like no one from BEA actually monitors these forums, I'll answer my own question.
    I no longer use the jswc ant task to generate LoginService.war. Now, I just drop my Login web service into its own jar file (apparently it doesn't work if it's in a JAR with other EJBs), say, ws.jar and put that into the EAR with everything else, and it works. Here is my web service now (called LoginImpl)
    @WebService(name = "Login", targetNamespace = MY_NAMESPACE)
    @SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL, parameterStyle = ParameterStyle.WRAPPED)
    @WLHttpTransport(contextPath = "services", serviceUri = "LoginService")
    @Stateless
    public class LoginImpl {
         @EJB(name = "Login")
         private Login login;
         @WebMethod(operationName="LoginRequest")
         @WebResult(name = "LoginResponse")
         public boolean login(
              @WebParam(name = "Username", targetNamespace = MY_NAMESPACE) String username,
              @WebParam(name = "Password", targetNamespace = MY_NAMESPACE) String password
              return login.loginUser( username, password );
         @WebMethod(operationName="LogoutRequest")
         @WebResult(name="LogoutResponse")
         public void logout( @WebParam(name = "SessionToken", targetNamespace = MY_NAMESPACE) String sessionToken ) {
              login.logoutUser( sessionToken );
    }So in summary:
    * Put @WebService files in their own JAR
    * Don't use jswc
    I also used Sun's JAX-WS reference implementation to generate the *.jaxwx.* files, otherwise WebLogic complains

  • Oracle service bus and composing two web services

    All,
    Do let me know your thoughts on this.
    Currently we have two web services
    Web Service 1 - Verify Eligibility
    Web Service 2 - Approve Proposal
    Web Service 1 has one operation and accepts a well defined set of input parameters similarly web service 2 also exposes a single operation and accepts a set of input parameters.
    These are deployed and running in our environment.
    Now we have a requirement to stitch together these two web services and expose them as one single composite web service on the Oracle Service Bus 11g.
    I want to create a proxy service on the OSB as unified web service (having its own WSDL) by composing the operations and input plus output parameters of the aforementioned two web services.
    This way we can publish the WSDL to the front-end apps and they will trigger it with the required parameters and the proxy service will orchestrate the call to WS1 and WS2 and send the final output back to the calling client.
    I was able to create an outbound call from the Proxy service to the underlying business services but I am not able to expose the Proxy service as web service with a WSDL i.e. create the proxy service by choosing operations of Web service 1 and web service 2
    Please let me know your thoughts on this.
    Regards,
    Sushant

    Thanks Atheek
    The proxy service I tried to create orchestrate 2 web services.
    But where we are struggling is How can i make this proxy service (composite) as a web service along with the WSDL.
    The proxy service should be able to accept calls from the client with set of inputs representing both the underlying web services and coordinate calls b/w these two services and return consolidated output back to the calling client.
    I am not finding a way to create a proxy service (web service along with the wsdl) which is representative of the underlying web services in a consolidated manner that can accepts inputs on behalf of both the underlying web services, orchestrate calls b/w the 2 web services and return the final output back to the calling client.
    example modified to keep it brief
    web service1
    operation name: Verify Eligibility
    Input: Complex type (String name, int Id, String address)
    Output: Complex type(String approval status, int Id, String reason)
    web service2
    operation name: Approve Proposal
    input: Complex type(String approval status, int Id, String reason, int Amount, int EmployeeCount)
    Output: Complex type (String final status, String recommendation)
    Composite Proxy Web Service
    name: Composite Eligibility and Approval
    Input: Complex type ( String name, int Id, String address, int Amount, int EmployeeCount)
    Output: Complex type(String approval status, int Id, String reason,String final status, String recommendation)
    The composite proxy should be created in a manner to jam the inputs of both the underlying web services and expose a representative interface on behalf of both the web services. This composite web service interface creation (WSDL) is where we are struggling a bit.
    Because the calling clients need a unified WSDL to able to communicate with the composite web service.
    Do post your thoughts.
    Thanks Again,
    Sushant

  • How to develop and call Asynchronous web service

    Hi All,
    I need to have a java web service that will be called asynchronously.
    That should execute, once triggered and caller shouldnt need to wait till its completion.
    How to develop and call asynchronoue web service ?
    Thanks
    Saikrishna

    Let your web service start its own background thread (*) somehow and move your business logic from web service to this thread. Then you can return from your web service. The client won't be blocked and your application will run on your server after service callout will be finished.
    I hope that's what you need. Anyway, there is only "asynchronous communication" and nothing like "asynchronous web service". At least from HTTP point of view, every call is synchronous - you have request and response.
    (*) You shouldn't start your own thread since you are in JEE world. Look at documentation for your container. E.g. for weblogic there are workers you can use this way. Or you can choose the other way. I hope that for any container you can just enqueue your web service request to any JMS queue and move your business logic to an appropriate MDB. Then, your web service will be just a simple JMS producer and your web service client won't be forced to wait for business logic to finish.
    Last but not least, next time choose a better forum. :-)

  • "Unable to load URL" - SQL Server 2005 DB Web Service Connection

    Hi ,
    I am using XCelsius version 5.0.0.99 to create dashboards connecting to SQL Server 2005.
    Find below the details of the steps -
    1. Created a web service within SQL Server 2005 database.
    2. Copied the WSDL URL.
    3. In XCelsius 2008 -> Data Manager -> Web Service Connection, pasted the URL in the WSDL URL input box and clicked "Import" to import the methods. At this point I am getting "Unable to load URL" .
    Am I missing any step ?
    Any suggestion would be highly appreciated.
    Note : I have tested the web service by using it in a ASP.Net project and works fine.
    Thanks
    Chitra

    Hi,
    Error :unable to Load URL occurs" because Crystal xcelsius only support single schema web service created from Query as a web service and Flynet tool available in xcelsius 2008.
    The reason:
    All the web service create from Sql 2005 ,PHP script produced multiple scehma web service and crystal xcelsius only support single schema web service which can be created from Query as a web service or Flynet.
    Please revert in case of any queries.
    Regards
    Kekti Fadnavis

  • Web Service URL length limits, LV2013 vs LV2012

    (* CROSS POST: http://lavag.org/topic/18435-web-service-url-length-limits-lv2013-vs-lv2012/ *)
    (* Please reply in this forum.  I have marked the other thread to put replies here. *)
    Has anyone noticed a reduction to the limit on URL length for Web Services between LV versions 2012 and 2013?
    Under LV2012, a RESTful web service appears to accept URL with lengths at least as long as 4096 characters.  With LV2013, the max URL length appears to be 511 characters for both RESTful and Project Item web services. Unfortunately for me the project I just converted trips over this issue. My goal with posting this query to here is to improve my understanding of this limitation before I decide how best to modify my code.  Certainly using POST rather than GET with a long URL is an option, but again, I'm looking to understand the change in limitation before I choose a solution.
    To illustrate I have attached three mostly identical projects which demonstrate the issue.  In each case the project contains a webservice consisting of a single VI, "ComputeLength", which takes a String as an input parameter and which outputs the length of the string.  The three projects are as follows.
    1. LV2012 RESTful web service.
    2. LV2013 RESTful web service.
    3. LV2013 Project item web service.
    The web service contains a single VI.  For the RESTful examples, the web service is started by selecting Deploy from the Build specification right click menu.  For the Project Item example, the web service is started by selecting Start from the MyComputer/WebService right click menu. The use of this example is demonstrated with the following URL: 
    (note that the port is 8080 for the two RESTful examples and is 8001 for the Project item web service if used in Debug mode, which is the default for the above instruction.)
    http://localhost:8080/webservice/computelength?string=1234567890
    And the output looks like this.
    <Response>
    <Terminal>
    <Name>StringLength</Name>
    <Value>10</Value>
    </Terminal>
    </Response>
    To see the issue, extend the string parameter such that the URL contains more than 511 characters beyond the port number.  For example something like this, http://localhost:8080/webservice/computelength?string=1234567890123456789012345678901234567890....(keep repeating)
    For the LV2012 example the string parameter may be at least as long as 4000 characters, which I've demonstrated using Chrome as my browser.  For both of the LV2013 examples the URL is limited to 511 characters after the localhost and the port number.
    Anyone know whether this is a bug or this is an intentional design change?  How about whether the URL length limit is configurable? 
    I am also consulting NI tech support and will report back their response.
    Any advice appreciated.
    Thanks,
      Martin
    Solved!
    Go to Solution.
    Attachments:
    mywebservice.LV2012.RESTful.zip ‏12 KB
    mywebservice.LV2013.RESTful.zip ‏12 KB
    mywebservice.LV2013.ProjectItem.zip ‏11 KB

    Solution found.  Apparently starting in LV 2013, there is a default limit of 512 to the URL length.  The default limit may be overridden as described below.
    Martin
    This is Brian in Applications Engineering from National Instruments. I am following up regarding the 511 character limit in your Web Service HTTP request following the port number. After some research I've figured out that the issue is related to a default web server setting called "LimitUri," which limits the maximum length of a URL. The default setting is 512 characters which is why we are seeing this issue.
    There are multiple ways of changing the URL length limit depending on how you are using your web service. If you are publishing the web service using the Application Web Server then modify "C:\Program Files (x86)\National Instruments\Shared\NI WebServer\NIWebAppServer.conf" and add "LimitUri 4096" to the end of the file without the quotes.
    If you are running the Debug Web Server by just clicking start on the web service then modify "C:\Program Files (x86)\National Instruments\LabVIEW 2013\resource\webserver\niwsdebugserver.conf" and add "LimitUri 4096" to the end of the file without the quotes.

  • Web service url redirecting problem

    I am working on a form developed by LC Designer that will call a web service from our web server.
    In the WSDL, the soap address location points to www.domain.com/webservice1,
    however our web server will perform load balance by directing all www.domain.com to a new url
    either www1.domain.com or www2.domain.com.
    The result is that nothing is returned after executing the webservice call, I can't catch any error
    after xfa.connectionSet.WebServiceDC.execute(false); just nothing returns after the call.
    I suppose it is the problem that the url has been redirected to a different one.
    However if the soap address location points directly to either www1 or www2, the call returns result alright.
    Is there way or script that I can handle by redirecting a web service to a different URL like that in Adobe Flex?
    That is what I found from the web for Adobe Flex :
    public function onLoginResult(event:ResultEvent):void {
    //Extract the new service endpoint from the login result. 
    var newServiceURL = event.result.serverUrl;
    // Redirect all service operations to the URL received in the login result. 
        serviceName.endpointURI=newServiceURL;
    Best Rgds.

    A helpful poster on the House of Fusion forums pointed me to
    a work-around:
    Apparently ColdFusion just uses the WSDL to create the sub
    objects for the web service call, so as long as there is a service
    port address secified in the WSDL it doesn't matter where the
    actual WSDL file sits. So I just downloaded the WSDL using CFHTTP
    (had to use this article to configure CFHTTP for HTTP Compression:
    http://www.talkingtree.com/blog/index.cfm/2004/7/28/20040729)
    and then I pointed my CF Administrator to the WSDL on my local
    machine. And Presto - I can connect to the web service no problem
    now.
    Only problem is that I have to download the WSDL every time
    there is a change to the webservice, but I can schedule a task that
    downloads the file once a week or so.

  • How to use web services with Dynamic url behaviour

    Hi,
    IView created by me currently uses some web services whose url behavior is static but i want to give a dynamic url behavior. i.e. i want to use the url which user provides. So here are my questions
    1. How I shall assign the url supplied by the user to IView?
    2. If I want to set some config variables during runtimes how I shall do it?
    Thanks in advance,
    Vishvesh

    Hi,
    1. I'm guessing you mean the webservice's url the user provides is pointing to an identical webservice to what you used to create your proxy... otherwise I think it will be very hard to do (I can imagine creating the proxies using the wsdl tool in run time or using code dome.. but that can't be what you want, right?).
    So if what you wanted is to use the same web service with a different url, then the web service's proxy class you created has API for doing this in code! (it inherits it)
    2. you can't, simply since the portal application doesn't ever use the config file... it isn't even deployed to the portal... so dynamic properties are "out of the question" here, sorry... see 1 again
    Regards,
    Ofer

Maybe you are looking for