Plugin based Web Service with session management

I am trying to make a web service in java with jax-ws that should support extensions to the service without rebuilding the project. I thought it might be possible to make a standard web service and the let each plugin create their own service, making the client side plugin point to both the standard service and the plugin specific one. This way I could have user management and such in the standard service and the more plugin specific one in an other service. The problem is though, how do I make a common session for all the services? All services are running at the same server and on the same domain name.
I checked the HTTP headers and found out that the JSESSIONID was changing when I created a new port on the client side. I was trying to implement a SOAPHandler to edit the cookie in the HTTP header, hoping that this will lead to the same session across the services. But found it hard. It was no problem reading the "Set-cookie" header, setting the cookie on the new requests was harder, as the CookieJar object seems to be internal [1]. And the MessageContext.HTTP_REQUEST_HEADERS wasn't created at the time my handlers run. Is there an easy solution to this?
I am not sure if my idea is a good solution to the main problem, and all other ideas are more than welcome. I hope it is possible to extend the features of my server without rebuilding the project. If anything is unclear, feel free to ask :)
[1] com.sun.xml.internal.ws.client.http.CookieJar

Adhir_Mehta wrote:
Could you explain plug in scenario with one example?Ok. We have not chosen exactly how to do this, but the idea is that someone may be able to extend the functionality of our server without rebuilding the project. We thought of something like a jar file with a implementation of some abstract classes. It should at least only be necessary to redeploy the project into the web container. The problem is; how do we let the plugins extend our web interface? One solution we thought of was to let each plugin have it's own service and dynamicly link to the plugin services from the main service that we provide as standard in our server. This way we may have some kind of plugin support on the clients as well, making the client side plugins know what kind of service it needs on the server side and thus extending the functionality all together.
Hope that explains our scenario. Feel free to comment and add new ideas :)
Regarding session management, its not advisable to manage the session in web services since that way it will become non interoperable.The documentation we found regarding sessions and jax-ws was all doing sessions with HTTPSessions, and to let the web container handle that.
On the server side
    @Resource
    private WebServiceContext wsContext;
    private HttpSession getSession() {
        MessageContext mc = wsContext.getMessageContext();
        return ((javax.servlet.http.HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST)).getSession();
    HttpSession session = getSession();
    session.setAttribute("User", user);On the client side
((BindingProvider)port).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY,true);Do you have other standard options for us on how to do session management? All ideas are more than welcome

Similar Messages

  • Issues in creating Java based web services with JAXB 1.0 in Jdeveloper 10 g

    Hi All,
    I am trying out a simple java based web service creation exercise using Jdeveloper 10.1.3.3.0.3 and JAXB 1.0. Here is what I am trying to do.
    1. I have a XSD file called Status.xsd, which has three complex types in it.
    2. Using Jdeveloper Tools --> JAXB Compilation, I have created Jaxb classes for the above XSD files. For each of the complex type the jaxb class generator generated on IMPL clas and one abstract class.
    3. Now I have created one simple java class called Class1.java and created one method that takes the StatusImpl as input and as output for that method. Here is the code for Class1.java
    public class Class1 {
    public Class1() {
    public StatusImpl getstatus (StatusImpl in) {
    StatusImpl out;
    out = in;
    return out;
    4. Now, I trying to create a web service for this java class from jedeveloper. I have right clicked this class and went thru the wizard Create J2EE web services.
    5. At the end, the web service project got created successfully and I am trying to run this project from jdeveloper. When I run this project, I am getting the following kind of error message in the browser
    It looks like when the runtime deployment classes are trying to instantiate the abstract classes instead of the impl class. and for all the complex types they trow that error and the web service could not be even invoked.
    What could be the issue? Is the jaxb based web services supported with jdeveloper 10g?
    Thanks,
    Renga

    Hi All,
    I am trying out a simple java based web service creation exercise using Jdeveloper 10.1.3.3.0.3 and JAXB 1.0. Here is what I am trying to do.
    1. I have a XSD file called Status.xsd, which has three complex types in it.
    2. Using Jdeveloper Tools --> JAXB Compilation, I have created Jaxb classes for the above XSD files. For each of the complex type the jaxb class generator generated on IMPL clas and one abstract class.
    3. Now I have created one simple java class called Class1.java and created one method that takes the StatusImpl as input and as output for that method. Here is the code for Class1.java
    public class Class1 {
    public Class1() {
    public StatusImpl getstatus (StatusImpl in) {
    StatusImpl out;
    out = in;
    return out;
    4. Now, I trying to create a web service for this java class from jedeveloper. I have right clicked this class and went thru the wizard Create J2EE web services.
    5. At the end, the web service project got created successfully and I am trying to run this project from jdeveloper. When I run this project, I am getting the following kind of error message in the browser
    It looks like when the runtime deployment classes are trying to instantiate the abstract classes instead of the impl class. and for all the complex types they trow that error and the web service could not be even invoked.
    What could be the issue? Is the jaxb based web services supported with jdeveloper 10g?
    Thanks,
    Renga

  • Web service authentication/session management using Axis2

    I'm creating a web service using Axis2 where the client will need to login to the service and maintain a session. I'm trying to figure out a good way to do this. I've read the article on the following link:
    http://www.developer.com/services/article.php/3620661/Axis2-Session-Management.htm
    and it describes 4 main ways of doing this: Request Session Scope, Soap session scope, Transport session scope, and Application scope. However, it doesn't give much detail in actually implementing this. It says to add a parameter to services.xml like this:
    <service name="foo" scope=" transportsession">
    </service>
    but what about the actual code that goes in the server and client to actually handle the login process and verify the username/password in an SQL database on the server? I'm having a lot of trouble finding a good tuturial on this. Can anyone point me in the right direction? I'm also open to other ideas that don't necessarily directly involve Axis2.

    Session management for a web service and already answered. Locking.

  • Securing Web Services with Access Manager

    Hello All
    I have installed the java_app_platform_sdk-5_04-windows.exe that comes with Acces Manager 7.1.
    I want to secure a webservice, so I have created a webapplication (with netbeans 6) with a webservice inside. I have also create a web client application that calls the webservice. The providers are configured in the server and I have enabled the soap security .
    When I use anonymous authentication everything works fine, but if I used any other security method the following exception arises:
    [#|2008-04-29T09:41:07.343+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=21;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=1a997eb3-6287-41f4-a540-0b9c86841683;|AMServerAuthModule.validateRequest: Failed in Securing the Request.|#]
    [#|2008-04-29T09:41:07.375+0200|WARNING|sun-appserver9.1|javax.enterprise.system.stream.err|_ThreadID=21;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=1a997eb3-6287-41f4-a540-0b9c86841683;|java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.identity.agents.jsr196.as9soap.AMServerAuthModule.validateRequest(AMServerAuthModule.java:173)
         at com.sun.enterprise.security.jmac.config.GFServerConfigProvider$GFServerAuthContext.validateRequest(GFServerConfigProvider.java:1179)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:168)
         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.JAXWSServlet.doPost(JAXWSServlet.java:159)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
         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:272)
         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:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         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: com.sun.identity.wss.security.SecurityException: Unsupported security mechanism.
         at com.sun.identity.wss.security.handler.SOAPRequestHandler.validateRequest(SOAPRequestHandler.java:232)
         ... 46 more
    |#]
    [#|2008-04-29T09:41:07.390+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=21;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=1a997eb3-6287-41f4-a540-0b9c86841683;|SEC2002: Container-auth: wss: Error validating request
    com.sun.enterprise.security.jauth.AuthException: Validating Request failed
         at com.sun.identity.agents.jsr196.as9soap.AMServerAuthModule.validateRequest(AMServerAuthModule.java:188)
         at com.sun.enterprise.security.jmac.config.GFServerConfigProvider$GFServerAuthContext.validateRequest(GFServerConfigProvider.java:1179)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:168)
         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.JAXWSServlet.doPost(JAXWSServlet.java:159)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
         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:272)
         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:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         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.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.identity.agents.jsr196.as9soap.AMServerAuthModule.validateRequest(AMServerAuthModule.java:173)
         ... 41 more
    Caused by: com.sun.identity.wss.security.SecurityException: Unsupported security mechanism.
         at com.sun.identity.wss.security.handler.SOAPRequestHandler.validateRequest(SOAPRequestHandler.java:232)
         ... 46 more
    |#]
    It�s says something about th security mechanism is not supported. But I don�t know why. �Any idea?
    Thank you

    Hello again,
    I am not using ssl. I am using the usernametoken or de saml-voucer mechanish and It happens in both. But with the anonymous mechanism doesnt happen.
    ...

  • Web Services and session management

    Hello,
    I am building an application using tomcat and axis2 for ws support. Is there any (standard, preferably) way to maintain session information accross multiple soap invocations? Or maybe even manage the sessions by myself "logically" and send something like a header identifying the session key with each request?
    Any comments would be appreciated,
    Thx

    Hi
    Axis2 offers two ways of doing session management. The first way uses a cookie. You need to specify scope="transportsession" in your services.xml, and ensure that cookies are enabled.
    The second way is not dependent on HTTP cookies, but uses WS-Addressing headers instead. It is scope="soapsession". If you use the Axis2 client then you can do this very simply use setManageSession(true) on your ServiceClient.
    e.g. stub._getServiceClient.setManageSession(true);
    If you use another client, you will need to get the header from the response message and add it to future requests yourself.
    Can I suggest you move this discussion to [email protected] where all the axis2 experts hang out?
    Paul

  • Debugging a Web service with JDeveloper 902

    JDeveloper (902) is the major development tool in my project, and till now we used RMI for remote function calls. We are considering to use SAOP instead.
    I've installed JWSDP and I manage to run SOAP based Web service with Tomcat.
    However, after deploying a Web service, even its screen output is hidden.
    My problem is how to debug a Web service with JDeveloper?

    JDeveloper (902) is the major development tool in my project, and till now we used RMI for remote function calls. We are considering to use SAOP instead.
    I've installed JWSDP and I manage to run SOAP based Web service with Tomcat.
    However, after deploying a Web service, even its screen output is hidden.
    My problem is how to debug a Web service with JDeveloper?

  • Attachment Based Web Services

    Where do I get More details about Attachment based web services with netbeans 5.5.
    Any Links for,
    Any Technical Articls,
    Example Source code Downloads?

    Where do I get More details about Attachment based web services with netbeans 5.5.
    Any Links for,
    Any Technical Articls,
    Example Source code Downloads?

  • Securing web services with Sun Access Manager

    Hi!
    I have gone through some documentation about Sun Access Manager, and I'm a little bit confused.
    What I want is to secure some web services which are deployed on a BEA WebLogic 9.1 server (WLS). Two solutions are possible: To install some kind of plugin into WLS or to place some kind of proxy in front of WLS. In both cases, the purpose would be to authenticate the caller based on some kind of ticket (SAML or similar) and authorize access to the web service.
    I have read about the "Sun Java System Access Manager Policy Agent 2.2 for Weblogic 9.1" (those guys really like long names....), but in this documentation web services aren't mentioned at all. They only seem to care about HTTP requests from a browser.
    I have also read about the Policy Agent 2.2 in the documentation called "Sun Java System Access Manager Policy Agent 2.2 Guide for Sun Java System Application Server 9.0/Web Services" (puh...). This document explicitly talks about securing web services the way I want.
    My questions are:
    1) Is it possible to secure WLS based web services in the same way using the Policy Agent for WLS?
    2) Are there any documentation/tutorials/etc?
    Thanks in advance :-)
    Anders

    what you need is a webservices agent that would enable you to "protect" your webservice provider, which I assume is on a BEA weblogic provider.
    the "Sun Java System Access Manager Policy Agent 2.2 for Weblogic 9.1" is "NOT" awebservices agent, but a normal J2EE policy agent.
    So.. having said that. here's what I'd recommend.
    1. install the webservices agent on bea weblogic. (note: NOT the J2EE policy agent)
    2. configure it to use your access manager instance for authentication.
    3. configure your webservices client to use the webservice provider. (note: you'd need the webservices APi's available on the client too... so the quick dirty method would be to install the webservices agent on your client too....) you can later bundle the webservices client independently and provide your"customers" with a webservices client bundle...
    4. voila... your webservices are not "protected" by acces manager ;-)

  • Implementing Web Service with Stateless Session Bean

    I have a web service that I've built using the WorkSpace Studio tools (create a WSDL, generate the Java code from the WSDL, fill in the skeleton methods in the service implementation class). This service is deployed as a web module within an EAR to WebLogic Server 10.0 and is working great as a web service.
    I'd like to be able to also call the operations on this service via an EJB interface (from a different application on the same server). I followed the guidelines for adding EJB annotations to the web service implementation class (from [http://edocs.bea.com/wls/docs100/webserv/jws.html#wp215790]). I added the @Session annotation to the class, implemented javax.ejb.SessionBean, and added the ejbXXX() methods. This all makes perfect sense, and looked like it was going to work. However, WorkSpace Studio now gives me a compile error on the class that says "EJB backed WebServices are not supported."
    A few internet searches for that error didn't return anything relevant.
    It seems like I followed the instructions correctly. Is there a better way to build a service like this that is both a web service endpoint and a stateless session bean?
    Thanks!
    -Eric

    Having separate EJB and web modules certainly makes things easier, but I have non-trivial (i.e. not feasible to copy) application logic that I'd like to expose with both a bean interface (for intra-application usage) and a web service interface (for public consumption).
    I've tried starting with a "web application" WorkSpace Studio project and adding bean annotations. This produces the error I originally described. I also tried starting with an "EJB" WorkSpace Studio project and adding web service annotations. This fails at deployment time with errors about missing web service descriptors (the error is correct - the web-service-related descriptor elements are missing from the deployment descriptors).
    The documentation explicitly presents this as an option (annotating a class with both web service and session bean annotations), but how does one actually make this work?

  • ABAP-based web service returns numeric values with leading zeros

    Hi SOA experts,
    I have created a web service out of an ABAP function module. Beside other values, this service returns a list of document numbers. All of these numeric values are returned by the web service with leading zeros, but we do want these values w/o leading zeros.
    Any ideas how I can tell the web service to not print any leading zeros?
    Thanks in advance for your help!
    Kind regards, Matthias
    PS: The according function module does not print any leading zeros for the numeric values

    hi,
    just a guess: I'd try to use I instead of NUMC for the document numbers.
    NUMC is no number but a character string with numeric characters only. only some display routines in SAP know that this string of numerals represents a number and omit leading zeroes.
    my 2 cents,
    anton

  • Using CE 7.1 ESR with ABAP based web services requires java development?

    Hi All,
    When developing a web service in ABAP, what java development must I do to make the web services available in an ESR that is located on CE 7.1?
    Thanks,
    Regards,
    Mel Calucin
    Bentley Systems, Inc.

    Hi Stefan,
    Someone told me that the difference between CE 7.1 ESR and PI 7.1 ESR is that to register the ABAP web service into CE 7.1 ESR you need to create EJBs and that you don't need to do this for PI 7.1 ESR (since ithe PI 7.1 ESR is ABAP based).  I didn't think that this was the case so I put this question in this forum to confirm this.   I am arguing to put in CE 7.1 because we don't need the PI 7.1 functionality.  This someone told me that we are more of an ABAP shop than a Java shop and that we don't want to develop EJBs whenever we develop ABAP based web services. 
    Thanks.
    Regards,
    Mel Calucin

  • 2-java clients communicate with java based web-service

    I'm new 2 web-services.
    I need to create 2-java clients(a game like chess) & communicate them through a java based web-service.
    I can create the web service.(using Netbeans getting started tutorial.only the basic stuff)
    when we create the 2-clients are those should be web-clients or are they should be normal java
    applications.
    (clients should be GUI based)
    ??

    I'm new 2 web-services.
    I need to create 2-java clients(a game like chess) & communicate them through a java based web-service.
    I can create the web service.(using Netbeans getting started tutorial.only the basic stuff)
    when we create the 2-clients are those should be web-clients or are they should be normal java
    applications.
    (clients should be GUI based)
    ??

  • Web Services with IFS

    Hi,
    i am trying to make XML/SOAP based Web services work with iFS
    Let me give u the exact details of the what i am trying to achieve.
    I have a stateless session bean method which i am exposing as a webservice.
    This method invokes the IFS API.
    I do something like this :
    // inside the webservice method
    callingIFS( );
    =====================================================
    public void callingIFS() {
    LibraryService service = LibraryService.startService("IfsDefault", "ifssys");
    CleartextCredential cred = new CleartextCredential("system","system");
    ====================================================
    When it comes to the LibraryService it fails to start the service.
    ======================================================
    oracle.ifs.common.IfsException: IFS-20102: Unable to start service (IfsDefault)
    oracle.ifs.common.IfsException: IFS-20010: Unable to get service configuration properties (IfsDefault)
    =========================================================
    It is unable to locate the properties file.
    Could someone tell me what the problem could be
    Thanks in advance
    Arvind

    The problem is that your webservice JVM cannot locate the LibraryService properties file named "IfsDefault.properties" which comes with the iFS software installation. This means that either the CLASSPATH used by your webservice JVM does not include the location of the properties file or the file is not in the location specified in the CLASSPATH. It depends on how you have configured your environment.
    Note that in later versions of iFS, the LibraryService properties are stored in the database, and you no longer need to have the properties file location specified in the database.

  • Web services with oracle 9ifs

    hi,
    could someone help me out in this error..
    oracle.ifs.common.IfsException: IFS-20102: Unable to start service (IfsDefault)
    oracle.ifs.common.IfsException: IFS-20010: Unable to get service configuration properties (IfsDefault)
    Thanks
    Arvind

    Hi Mike,
    yes ! i am trying to make XML/SOAP based Web services work with iFS
    Let me give u the exact details of the what i am trying to achieve.
    I have a stateless session bean method which i am exposing as a webservice.
    This method invokes the IFS API.
    I do something like this :
    // inside the webservice method
    callingIFS( );
    =====================================================
    public void callingIFS() {
    LibraryService service = LibraryService.startService("IfsDefault", "ifssys");
    CleartextCredential cred = new CleartextCredential("system","system");
    ====================================================
    When it comes to the LibraryService it fails to start the service.
    ======================================================
    oracle.ifs.common.IfsException: IFS-20102: Unable to start service (IfsDefault)
    oracle.ifs.common.IfsException: IFS-20010: Unable to get service configuration properties (IfsDefault)
    =========================================================
    It is unable to locate the properties file.
    Thanks'
    Arvind

  • Document-based web services - WebLogic 8.1

    Hi all,<br>
    I'm exposing a stateless session bean method as a web service. The in/out parameters are XML documents so my method signature looks as follows:
    <br><br>
    public Document collectMessages( Document request )
    <br><br>
    Accordingly I want to use document-based web services. I use <b>servicegen</b> to create all server-side classes required for the web service.
    <br><br>
    I'm testing the service from the WebLogic provided test page. For document-based services, the text-area is initially populated with the following content
    <br><br>
    <pre><!-- Do not know how to create a sample instance for this part due to the following exception:java.lang.InstantiationException: org.w3c.dom.Document. Pls replace this with the correct XML before invoking the service. --->
    <['http://www.revenue.ie/webservices/ris/rcm/webservices']:RcmCollectRequest/></pre>
    <br><br>
    When I invoke the service I get the following error:
    <br><br>
    <pre><!--RESPONSE.................-->
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Body>
    <env:Fault>
    <faultcode>Client</faultcode>
    <b><faultstring>Unable to find a matching Operation for this remote invocation <RcmCollectRequest>
    </RcmCollectRequest>. Please check your operation name. </faultstring></b>
    </env:Fault>
    </env:Body>
    </env:Envelope></pre>
    <br><br>
    I've searched for this error and seen it in the forum only a number of times. It seems as though some manual manipulation of the web-services.xml document can solve it. Does anyone have an example? My <b>web-services.xml</b> document looks as follows:
    <br><br>
    <pre><?xml version="1.0" encoding="UTF-8"?>
    <web-services>
         <web-service useSOAP12="false" targetNamespace="http://www.revenue.ie/webservices/ris/rcm/webservices" name="rcmmessageservices" style="document" uri="/">
              <types>
                   <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="http://www.revenue.ie/webservices/ris/rcm/webservices" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="http://www.revenue.ie/webservices/ris/rcm/webservices">
                        <xsd:element type="xsd:anyType" name="RcmCollectRequest" nillable="true">
    </xsd:element>
                        <xsd:element type="xsd:anyType" name="RcmCollectResponse" nillable="true">
    </xsd:element>
                   </xsd:schema>
                   <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:ie.revenue.rcm.ejb.session" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:ie.revenue.rcm.ejb.session">
                        <xsd:element type="stns:InvalidRequestException" name="InvalidRequestException">
    </xsd:element>
                        <xsd:element type="stns:SystemUnavailableException" name="SystemUnavailableException">
    </xsd:element>
                        <xsd:complexType name="InvalidRequestException">
    </xsd:complexType>
                        <xsd:complexType name="SystemUnavailableException">
    </xsd:complexType>
                   </xsd:schema>
              </types>
              <type-mapping>
                   <type-mapping-entry deserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" xmlns:p2="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p2:RcmCollectResponse" serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" class-name="org.w3c.dom.Document">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="ie.revenue.rcm.ejb.session.SystemUnavailableExceptionCodec" xmlns:p3="java:ie.revenue.rcm.ejb.session" type="p3:SystemUnavailableException" serializer="ie.revenue.rcm.ejb.session.SystemUnavailableExceptionCodec" class-name="ie.revenue.rcm.ejb.session.SystemUnavailableException">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="ie.revenue.rcm.ejb.session.InvalidRequestExceptionCodec" xmlns:p4="java:ie.revenue.rcm.ejb.session" type="p4:InvalidRequestException" serializer="ie.revenue.rcm.ejb.session.InvalidRequestExceptionCodec" class-name="ie.revenue.rcm.ejb.session.InvalidRequestException">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:anyType" serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" class-name="org.w3c.dom.Document">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" xmlns:p1="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p1:RcmCollectRequest" serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" class-name="org.w3c.dom.Document">
    </type-mapping-entry>
              </type-mapping>
              <components>
                   <stateless-ejb name="ejbcomp0">
                        <ejb-link path="rcm-ejb-1.0.jar#CustomerMessageController">
    </ejb-link>
                   </stateless-ejb>
              </components>
              <operations>
                   <operation name="collectMessages" method="collectMessages(org.w3c.dom.Document)" component="ejbcomp0">
                        <params>
                             <param style="in" xmlns:p1="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p1:RcmCollectRequest" location="body" name="document" class-name="org.w3c.dom.Document">
    </param>
                             <return-param xmlns:p2="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p2:RcmCollectResponse" location="body" name="result" class-name="org.w3c.dom.Document">
    </return-param>
                             <fault xmlns:p3="java:ie.revenue.rcm.ejb.session" type="p3:SystemUnavailableException" class-name="ie.revenue.rcm.ejb.session.SystemUnavailableException" name="SystemUnavailableException">
    </fault>
                             <fault xmlns:p4="java:ie.revenue.rcm.ejb.session" type="p4:InvalidRequestException" class-name="ie.revenue.rcm.ejb.session.InvalidRequestException" name="InvalidRequestException">
    </fault>
                        </params>
                   </operation>
              </operations>
         </web-service>
    </web-services>
    </pre>
    <br><br>
    Thanks in advance,<br>
    Eoin

    Hi Eoin,
    I had the exact problem. Struggled a lot and still couldn't figure out. I think its a problem in 8.1. Not sure. Might want to check with the support guys. If you are struck with 8.1 and still couldn't figure out, AXIS would be a option for you. Just an FYI. Thats what we are doing now.
    Luckily for us we are migrating to 9.1 and I just completed a POC for doc oriented webservices in 9.1. It works like a charm.
    Thanks and good luck
    - Aspert

Maybe you are looking for

  • Issues with UpdateAction and later using jbo:RowsetIterate

    Hello - I am putting together a BC4J/Struts web app and am having some issues with using the oracle.jbo.html.struts11.actions.UpdateAction class. I am trying to figure out the correct way to reset a row after validation exceptions so that <jbo:Rowset

  • [svn:osmf:] 17708: Fix FM-932: Scaling of parallel elements is not consistent.

    Revision: 17708 Revision: 17708 Author:   [email protected] Date:     2010-09-14 16:32:29 -0700 (Tue, 14 Sep 2010) Log Message: Fix FM-932: Scaling of parallel elements is not consistent. Ticket Links:     http://bugs.adobe.com/jira/browse/FM-932 Mod

  • MIRO error during invoice posting

    Hi, when I post an invoice document with MIRO, the system prompts with the following error: Account type K is not defined for document type RE     Message no. F5243 How can I post the invoice ? Best regards

  • Cannot connect to ORACLE server in VPN

    Hello , May this be a networking question but it deals with oracle database. In a workgroup environment a client PC is not able to connect to the PC in which oracle is installed. I tried to ping the PC , sometimes it replies back & some times it says

  • Pde error when printing

    I have a Mac that will not print to a network printer using pdf's or from Safari or Pages and gives a pde error but Word for Mac will print, I have just upgraded to Mavericks (10.9), I am using a MacBook Pro with an i7 2.4GHz processor and 8GB RAM An