JAX-WS web service returning java bean

how can i create a webservice that returns a javabean?
  @WebMethod   
public Person query(@WebParam(name = "id") String id) {
    Person person=new Person();
    person.setId(id);
    person.setFirstName("Lisa");
    person.setLastName("Cruz");
    return person;
}will JAX-WS generate the WSDL and XSD Schema file? do i need to edit or create a Schema file or is there something i need to set in my project.
btw, my IDE is NETBEANS5.5 and my application server is Sun Java System Application Server Platform edition 9.0.
please help me with this, i'm really new to this technology.
thanks in advance.

I got the Same problem and only today i tried web services
Is it right to do this way.
If so Please See the thng i've done.
Otherwise Please Suggest alternatives
I created Two Projects
1. Web Service
2. Web Client.
A Bean (It is in Web service Project)
public class Results
private int sum;
private int difference;
private int multi;
private float division;
/** Creates a new instance of Results */
public Results ()
public Results (int sum,int difference,int multi,float division)
this.difference=difference;this.division=division;
this.multi=multi;
this.sum=sum;
A Service Method
public class myService
// It works Fine in the client
@WebMethod
public int addTwoNumbers (@WebParam(name = "var1") int var1, @WebParam(name = "var2") int var2)
// TODO implement operation
return var1+var2;
// How do Get this Stuff Work at the Client
     @WebMethod
public Results getResults (@WebParam(name = "var1") int var1, @WebParam(name = "var2") int var2)
Results aResult=new Results((var1+var2),(var1-var2),(var1*var2),(var1/var2));
return aResult;
Now, How do I get this working in the Client.
In the Ide Get get Error (Using Netbeans5.5 -Tomcat).

Similar Messages

  • Can not make a jax-rcp web service returning string[][]

    I want to return a string[][] from my web service, but when trying to do it with Jdeveloper it says:
    The return type java.lang.String[][] of method
    <my method> cannot be serialized into XML, and no
    custom serializer has been defined for it.
    How can i define a serializer for the array???

    I got the Same problem and only today i tried web services
    Is it right to do this way.
    If so Please See the thng i've done.
    Otherwise Please Suggest alternatives
    I created Two Projects
    1. Web Service
    2. Web Client.
    A Bean (It is in Web service Project)
    public class Results
    private int sum;
    private int difference;
    private int multi;
    private float division;
    /** Creates a new instance of Results */
    public Results ()
    public Results (int sum,int difference,int multi,float division)
    this.difference=difference;this.division=division;
    this.multi=multi;
    this.sum=sum;
    A Service Method
    public class myService
    // It works Fine in the client
    @WebMethod
    public int addTwoNumbers (@WebParam(name = "var1") int var1, @WebParam(name = "var2") int var2)
    // TODO implement operation
    return var1+var2;
    // How do Get this Stuff Work at the Client
         @WebMethod
    public Results getResults (@WebParam(name = "var1") int var1, @WebParam(name = "var2") int var2)
    Results aResult=new Results((var1+var2),(var1-var2),(var1*var2),(var1/var2));
    return aResult;
    Now, How do I get this working in the Client.
    In the Ide Get get Error (Using Netbeans5.5 -Tomcat).

  • Need advice about web services and Java beans

    Hi
    I am very new to web services and to Java beans as well.
    I am trying to understand if and how a web service can use functionality I have in a Java bean. I couldn't find any documentation I can use.
    For example:
    InitialContext ic = new InitialContext();
    Adder adder = (Adder) ic.lookup("ejb/AdderJNDI");In a EJB client project (I'm working with Eclipse) if I add the EJB project to the build path, the Adder interface is recognized.
    Theoritacally I thought I can do the same in a web service server project, but the Adder interface is not recognized.
    Is there something I can read to understand how I need to use the EJB or implement the web service?
    Many thanks
    Sigal

    Okay....I think I made some errors with the original scenario:
    It basically comes down to this....I think. OCS Calendar has a set of Java classes and methods that provide an abstraction for their web services interface. I know how to create something to use these classes using an IDE like JDeveloper, but I'm not sure how that would work with HTML DB.
    I've noticed that the SQL Workshop has a place for Java sources and classes, and I've heard mentions of PL/SQL wrapping. Is there a way to import classes into an HTML DB workspace, wrap 'em up, and access them via PL/SQL?
    Thanks again,
    Jonathan

  • Create a web service from java bean and map exceptions to SOAP faults

    Hi,
    We have to expose our Session stateless EJB3 as web services. I've tried to use annotations and jdev wizard "java bean to web service" and it works fine.
    Our problem now is that our methods can throw a business exception that contains a list of error message strings to be presented on the client.
    I did not find any way to use annotations to make it build a wsdl with soap fault mapped to our exception class. Neither I could to make the wizard to create wsdl with faults.
    As we are exposing already designed and implemented classes as web services, I think the bottom-top (java->wsdl) approach is better that top->botton (wsdl->java). Therefore, I'm looking for a possibility to generate the web services from the java beans and have the exception be mapped to a soap fault message.
    We are using jdev 10.1.3.1 and OAS 10.1.3.1., is there a way to map exceptions to soap faults using bottom->top approach?
    thank you

    A couple of links that may be of help:
    http://www.netbeans.org/servlets/ReadMsg?listName=nbj2ee&msgNo=1218
    My last question concerning web services:
    I have already written a session bean and I'd like to add some methods
    as a web service to it, how do I do that?
    Or I can only create another bean for a webservice and cannot modify the
    original one?You might create web service with existing sources and select you bean. New web services with appropriate lookup method will be generated.
    All web service method, that will be exposed in web service, you
    should add itself (Pop-up menu Web Service -> Add operation)
    http://usersguide.netbeans.org/files/documents/40/73/Chapter9-WebServices.pdf

  • WebLogic 10.3.0, web-service enabled session beans, and CMT transactions

    Does WebLogic 10.3 support CMT for JAX-WS Web-Service enabled EJB 3.0 session beans?
    When a client invokes the following Web service:
    @WebService
    @Stateless
    @TransactionManagement( TransactionManagementType.CONTAINER )
    public class TestService       
        @WebMethod   
        @TransactionAttribute(TransactionAttributeType.REQUIRED)
        public String echo( @WebParam( name = "param" ) final String param)
            Context context = new InitialContext();
            TransactionSynchronizationRegisttry registry =
              (TransactionSynchronizationRegistry)
                context.lookup( "java:comp/TransactionSynchronizationRegistry" );
            registry.putResource("foo", "bar");
            return param;
    }WebLogic throws this exception:
    SEVERE: Transaction does not exist
    java.lang.IllegalStateException: Transaction does not exist
         at weblogic.transaction.internal.TransactionManagerImpl.putResource(TransactionManagerImpl.java:2033)
         at weblogic.transaction.internal.TransactionManagerImpl.putResource(TransactionManagerImpl.java:2029)Is this a bug in WL 10.3.0?
    Thanks in advance.
    Edited by: user572625 on Aug 18, 2011 12:29 AM

    This is fixed now. Someone had defined a Servlet for the web service in web.xml that was preventing the EJB container to kick in.
    Edited by: user572625 on Aug 25, 2011 11:54 PM

  • URGENT **** Need help for JAX-RPC Web Service Proxy deploy to OC4J 10.1.3.5

    Hi everyone!
    I’m really new to web services.
    I’m getting a *500 internal server error* while deploying my JAX-RPC web service Proxy to an Oracle AS, in an OC4J, v. 10.1.3.5.0.
    Running my client from my development environment (*jdeveloper 10g, 10.1.3.5.0*) everything functions correctly: from jdeveloper I can contact and use the web service defined by the following endpoint: https://www.medialibrary.it/services/federaMLOL.asmx?WSDL
    I created a "try_ws_client.jsp" file that runs correctly from my local development environment jdeveloper (that uses an embedded oc4j, v. 10.1.3.5.0) but fails when run from the test server (Oracle AS, in an OC4J, v. 10.1.3.5.0), getting, as I mentioned a 500 internal server error, a white page in IE but with FF the message says: The’s an error in the servlet .....
    Here's how I created the ws proxy and how I’m using it to consume the ws I mentioned.
    1. I used the jdeveloper “Create Web Service Proxy” wizard (File > New > Business Tier > Web Services > Web Service Prox) and in the WSDL document URL I put: https://www.medialibrary.it/services/federaMLOL.asmx?WSDL
    2. The operation ended without adding nothing to the web.xml file and creating the proxy files. One of them is: FederaMLOLSoapClient.java that have the WS exposed methods (es: public boolean createUser(String) ) + a “main” method with the example how to use this client to consume the WS.
    public static void main(String[] args) {
    try {
    it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient myPort = new it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient();
    System.out.println("calling " + myPort.getEndpoint());
    // Add your own code here
    } catch (Exception ex) {
    ex.printStackTrace();
    3. In FederaMLOLSoapClient.java I’ve create the method "tyIt":
    public String tryIt(String username) {
    try {
    it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient myPort = new it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient();
    if(myPort.createUser(String username)) {
    return “O.K”;
    } else {
    return “K.O”;
    } catch (Exception ex) {
    // logs error
    4. I created my try_ws_client.jsp file that creates FederaMLOLSoapClient object and calls the tryIt method, printing the “OK” or “KO” message.
    <%@ page import="it.reggiocity.provincia.biblioreggiane.*"%>
    <%
    String message = "";
    FederaMLOLSoapClient obj= new FederaMLOLSoapClient( );
    message = obj.tryIt(“AAAAAA70R10H226H”);
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>prova</title>
    </head>
    <body><%=message%></body>
    </html>
    The situation is:
    My try_ws_client.jsp runs correctly from my jdeveloper and the user is created while creating app.ear and deploying it to my Oracle AS/OC4J as mentioned above, I get a 500 Internal Server Error.
    Any idea to find a solution to this problem?
    Please help.
    Take care.
    John M.

    Hi,
    you want to build the Web Service, or you want to consume the Service as a client? If the latter, Web client (ADF?) or Java client?
    Frank

  • Creating Web Services using Java Implementation

    Hi,
    This is quite a general question on how to create a Web Service using Java Implementation that needs to conform to a client XML schema.
    Here are my Version specs,
    I am using Jdeveloper 10.1.3.4.0 and deploying onto OAS 10.1.3.
    I will be creating a J2ee 1.4 (JAX-RPC) Web Service using Document/Wrapped style.
    I have been provided an XML schema from the client which is quite complex.
    Using a top-down approach, I can create my WSDL file and import the XML Schema for my type definitions.
    The Web service aim is to accept some parameters and return some data from the Oracle Database. The
    XML response from the web service must conform to the element, attribute definitions in the provided XML schema.
    From a Java implementation approach, what is the best (simplest or quickest) way to retrieve data from the Oracle
    tables and map each fields/column to the required XML output (defined in the XML schema).
    I'm not too concerned with using Java to retrieve data from the Database, more with how I can map the data returned
    to the required output. Can this mapping task be controlled within the Java program?
    Thanks in advance.

    Hi,
    This is quite a general question on how to create a Web Service using Java Implementation that needs to conform to a client XML schema.
    Here are my Version specs,
    I am using Jdeveloper 10.1.3.4.0 and deploying onto OAS 10.1.3.
    I will be creating a J2ee 1.4 (JAX-RPC) Web Service using Document/Wrapped style.
    I have been provided an XML schema from the client which is quite complex.
    Using a top-down approach, I can create my WSDL file and import the XML Schema for my type definitions.
    The Web service aim is to accept some parameters and return some data from the Oracle Database. The
    XML response from the web service must conform to the element, attribute definitions in the provided XML schema.
    From a Java implementation approach, what is the best (simplest or quickest) way to retrieve data from the Oracle
    tables and map each fields/column to the required XML output (defined in the XML schema).
    I'm not too concerned with using Java to retrieve data from the Database, more with how I can map the data returned
    to the required output. Can this mapping task be controlled within the Java program?
    Thanks in advance.

  • JAX-WS web service - "Cannot find dispatch method"

    I'm getting the same error response every time I send a request to my JAX-WS web service:
    <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
       <faultcode>ns2:Client</faultcode>
       <faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
    </ns2:Fault>I've tried using JAX-WS RI 2.1.7 and 2.2 on my Tomcat server, but both return the same error response. It will return the WSDL just fine (when "?wsdl" is appended to the endpoint URL). I used "wsimport" to generate the necessary Java classes from my WSDL--it used JAX-WS RI 2.1.6 (the one included with the JDK I guess) to generate the Java source files.
    Other people online have had similar problems, but never with the SOAP element "{http://www.w3.org/2003/05/soap-envelope}Envelope", always with things specific to their WSDLs like "{}reqParams" or "{http://www.telekom.at/eai/WSToCramerCSIRead}CSIRead". I set a debug breakpoint at the start of my SIB method and it doesn't even get that far.
    Any ideas? Thanks for your help.
    WSDL:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- This wsdl file is for an XDS-I.b Imaging Document Source Actor
         It can be used 'as is' to support Imaging Document Source Retrieve Imaging Document Set Transaction
         using Synchronous Web Services. 
         -->
    <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:ihe="urn:ihe:iti:xds-b:2007" xmlns:iherad="urn:ihe:rad:xdsi-b:2009" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
      targetNamespace="urn:ihe:rad:xdsi-b:2009" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
      xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" name="ImagingDocumentSource">
      <documentation>IHE XDS-I.b Imaging Document Source</documentation>
      <types>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:ihe:iti:xds-b:2007"
          xmlns:ihe="urn:ihe:iti:xds-b:2007">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/IHE/XDS.b_DocumentRepository.xsd"/>
        </xsd:schema>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:ihe:rad:xdsi-b:2009"
          xmlns:ihe="urn:ihe:iti:xds-b:2007"
          xmlns:iherad="urn:ihe:rad:xdsi-b:2009">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/IHE/XDSI.b_ImagingDocumentSource.xsd"/>
        </xsd:schema>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
          xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/rs.xsd"/>
        </xsd:schema>
        <!-- While no elements are directly used from these schema in the WSDL,
          they need to be present here in order for
          code generating toolkits to work properly -->
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
          xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/lcm.xsd"/>
        </xsd:schema>
       <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
          xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/rim.xsd"/>
        </xsd:schema>
      </types>
      <message name="RetrieveImagingDocumentSetRequest_Message">
        <documentation>Retrieve Imaging Document Set</documentation>
        <part name="body" element="iherad:RetrieveImagingDocumentSetRequest"/>
      </message>
      <message name="RetrieveDocumentSetResponse_Message">
        <documentation>Retrieve Document Set Response</documentation>
        <part name="body" element="ihe:RetrieveDocumentSetResponse"/>
      </message>
      <portType name="ImagingDocumentSource_PortType">
        <operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
          <input message="iherad:RetrieveImagingDocumentSetRequest_Message"
            wsaw:Action="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
          <output message="iherad:RetrieveDocumentSetResponse_Message"
            wsaw:Action="urn:ihe:iti:2007:RetrieveDocumentSetResponse"/>
        </operation>
      </portType>
      <binding name="ImagingDocumentSource_Binding" type="iherad:ImagingDocumentSource_PortType">
        <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
          <soap12:operation soapAction="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
          <input>
            <soap12:body use="literal"/>
          </input>
          <output>
            <soap12:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="ImagingDocumentSource_Service">
        <port name="ImagingDocumentSource_Port_Soap12" binding="iherad:ImagingDocumentSource_Binding">
          <soap12:address location="http://localhost:8080/webservice-test/ridsService"/>
        </port>
      </service>
    </definitions>
    Request:
    <soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:urn="urn:ihe:rad:xdsi-b:2009"
    xmlns:urn1="urn:ihe:iti:xds-b:2007"
    xmlns:a="http://www.w3.org/2005/08/addressing">
       <soap:Header>
         <a:Action soap:mustUnderstand="1">urn:ihe:rad:2009:RetrieveImagingDocumentSet</a:Action>
         <a:MessageID>urn:uuid:0fbfdced-6c01-4d09-a110-2201afedaa02</a:MessageID>
         <a:ReplyTo soap:mustUnderstand="1">
              <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
         </a:ReplyTo>
         <a:To>http://localhost:8080/webservice-test/ridsServer</a:To>
       </soap:Header>
       <soap:Body>
          <urn:RetrieveImagingDocumentSetRequest>
             <!--1 or more repetitions:-->
             <urn:StudyRequest studyInstanceUID="test1">
                <!--1 or more repetitions:-->
                <urn:SeriesRequest seriesInstanceUID="test2">
                   <!--1 or more repetitions:-->
                   <urn1:DocumentRequest>
                      <!--Optional:-->
                      <urn1:HomeCommunityId>test3</urn1:HomeCommunityId>
                      <urn1:RepositoryUniqueId>test4</urn1:RepositoryUniqueId>
                      <urn1:DocumentUniqueId>test5</urn1:DocumentUniqueId>
                   </urn1:DocumentRequest>
                </urn:SeriesRequest>
             </urn:StudyRequest>
             <urn:TransferSyntaxUIDList>
                <!--1 or more repetitions:-->
                <urn:TransferSyntaxUID>?</urn:TransferSyntaxUID>
             </urn:TransferSyntaxUIDList>
          </urn:RetrieveImagingDocumentSetRequest>
       </soap:Body>
    </soap:Envelope>
    Response (HTTP 500):
    <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
       <faultcode>ns2:Client</faultcode>
       <faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
    </ns2:Fault>

    I posted here to benefit anybody who is looking for a solution.
    The solution is to use WebServiceContext to get ServletContext, then use ServletContext to get parameters defined in web.xml.
    @Resource private WebServiceContext m_wsCxt;
    Then in method
    SOAPMessageContext soapCxt = (SOAPMessageContext) m_wsCxt.getMessageContext();
    ServletContext servletCxt = (ServletContext) soapCxt.get(javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT);
    }

  • JAX-WS Web Service with XFire Client

    I wrote a simple web service and client using XFire. However the server now needs to be JAX-WS. I wrote a simple service using NetBeans but I can't seem to get it to work with XFire. JAX-WS doesn't seem to like the SOAP XFire is sending it and the parameters passed into the web method are nulls instead of the intended values.
    Here is my web service:
    package org.me.hi;
    import javax.jws.WebMethod;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    import javax.jws.soap.SOAPBinding.Style;
    import javax.jws.soap.SOAPBinding.Use;
    import javax.jws.soap.SOAPBinding.ParameterStyle;
    @WebService(name="HelloWS", targetNamespace="http://hi.me.org")
    @SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL, parameterStyle=ParameterStyle.WRAPPED)
    public class HelloWS {
        @WebMethod(operationName="add", action="")
        @WebResult(name="return", targetNamespace="http://hi.me.org")
        public Integer add(Integer a, Integer b) {
            if (a == null)
                System.out.println("a is null");
                return null;
            if (b == null)
                System.out.println("b is null");
                return null;
            System.out.println("a: " + a + " b: " + b);
            return a + b;
    }Here is the WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="http://hi.me.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://hi.me.org" name="HelloWSService">
      <types>
        <xsd:schema>
          <xsd:import namespace="http://hi.me.org" schemaLocation="http://localhost:8084/HelloWS/HelloWS?xsd=1"/>
        </xsd:schema>
      </types>
      <message name="add">
        <part element="tns:add" name="parameters"/>
      </message>
      <message name="addResponse">
        <part element="tns:addResponse" name="parameters"/>
      </message>
      <portType name="HelloWS">
        <operation name="add">
          <input message="tns:add"/>
          <output message="tns:addResponse"/>
        </operation>
      </portType>
      <binding type="tns:HelloWS" name="HelloWSPortBinding">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="add">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/>
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="HelloWSService">
        <port binding="tns:HelloWSPortBinding" name="HelloWSPort">
          <soap:address location="http://localhost:8084/HelloWS/HelloWS"/>
        </port>
      </service>
    </definitions>Here is my quick and dirty XFire client:
    package org.me.hi;
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.codehaus.xfire.client.Client;
    public class HelloTest {
        public static void main(String[] args) {
            Client client;
            try {
                client = new Client(new URL("http://localhost:8085/HelloWS/HelloWS?wsdl"));
                Object[] results = client.invoke("add", new Object[] {1, 2});
                if (results.length != 0) {
                    System.out.println("result: " + (Integer)results[0]);
                } else {
                    System.out.println("null return");
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
    }Here is the SOAP I intercepted between the XFire client and the JAX-WS service:
    Calling the web method:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soap:Body>
        <ns1:add xmlns:ns1="http://hi.me.org">
          <ns1:arg0>1</ns1:arg0>
          <ns1:arg1>2</ns1:arg1>
        </ns1:add>
      </soap:Body>
    </soap:Envelope>Response:
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org">
      <soapenv:Body>
        <ns1:addResponse></ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>Console at the server side:
    a is nullConsole at the client side:
    null returnNot sure what I'm doing wrong, but I wrote a quick JAX-WS client using NetBeans and it works. We would like to keep using XFire if possible. Here is the SOAP between the JAX-WS client and the JAX-WS web service.
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:add>
          <arg0>1</arg0>
          <arg1>2</arg1>
        </ns1:add>
      </soapenv:Body>
    </soapenv:Envelope>
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:addResponse>
          <return>3</return>
        </ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>

    Result after navigating to: http://localhost:8084/HelloWS/HelloWS?xsd=1
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hi.me.org/" version="1.0">
      <xs:element xmlns:ns1="http://hi.me.org/" type="ns1:add" name="add"/>
      <xs:complexType name="add">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="arg0"/>
          <xs:element type="xs:int" minOccurs="0" name="arg1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element xmlns:ns2="http://hi.me.org/" type="ns2:addResponse" name="addResponse"/>
      <xs:complexType name="addResponse">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="return"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>

  • Simple JAX-WS web service does not work on WS7u6

    Hello,
    I am trying to deploy a very simple JAX-WS web service on WS7u6, but it is not working. The same service deployed on Tomcat 6.0.16 works fine.
    The service I'm trying to deploy is from a tutorial on the Netbeans website: [http://netbeans.org/kb/docs/websvc/jax-ws.html] - it is a simple calculator web service that adds two ints and returns an int.
    I follow the tutorial to the letter, but when I attempt to deploy on WS7, it fails as follows:
    [10/Dec/2009:21:21:44] info (25757): CORE3276: Installing a new configuration
    [10/Dec/2009:21:21:44] info (25757): WEB0118: SSO is enabled in virtual server [dadydude.qisc.com]
    [10/Dec/2009:21:21:44] info (25757): WEB0100: Loading web module in virtual server [dadydude.qisc.com] at [/wstest]
    [10/Dec/2009:21:21:44] info (25757): WSSERVLET12: JAX-WS context listener initializing
    [10/Dec/2009:21:21:44] info (25757): wsdl cannot be found from DD or annotation. Will generate and publish a new WSDL for SEI endpoints.
    [10/Dec/2009:21:21:44] failure (25757): WSSERVLET11: failed to parse runtime descriptor: class: org.me.calculator.jaxws.Add could not be found
    class: org.me.calculator.jaxws.Add could not be found
         at com.sun.xml.ws.modeler.RuntimeModeler.getClass(RuntimeModeler.java:271)
         at com.sun.xml.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:562)
         at com.sun.xml.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:509)
         at com.sun.xml.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:355)
         at com.sun.xml.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:251)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java:170)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:317)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.createModelAndMetadata(WSServletContextListener.java:200)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:120)
         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4456)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:5113)
         at com.sun.webserver.connector.nsapi.WebModule.start(WebModule.java:235)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:924)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
         at org.apache.catalina.startup.Embedded.start(Embedded.java:917)
         at com.sun.enterprise.web.PwcWebContainer.onStartup(PwcWebContainer.java:70)
         at com.sun.webserver.connector.nsapi.WebContainer.start(WebContainer.java:491)
         at com.sun.webserver.init.J2EERunner.confPostInit(J2EERunner.java:304)
    [10/Dec/2009:21:21:44] failure (25757): WebModule[/wstest]PWC1275: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
    WSSERVLET11: failed to parse runtime descriptor: class: org.me.calculator.jaxws.Add could not be found
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:131)
         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4456)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:5113)
         at com.sun.webserver.connector.nsapi.WebModule.start(WebModule.java:235)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:924)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
         at org.apache.catalina.startup.Embedded.start(Embedded.java:917)
         at com.sun.enterprise.web.PwcWebContainer.onStartup(PwcWebContainer.java:70)
         at com.sun.webserver.connector.nsapi.WebContainer.start(WebContainer.java:491)
         at com.sun.webserver.init.J2EERunner.confPostInit(J2EERunner.java:304)
    Caused by: class: org.me.calculator.jaxws.Add could not be found
         at com.sun.xml.ws.modeler.RuntimeModeler.getClass(RuntimeModeler.java:271)
         at com.sun.xml.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:562)
         at com.sun.xml.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:509)
         at com.sun.xml.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:355)
         at com.sun.xml.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:251)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java:170)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:317)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.createModelAndMetadata(WSServletContextListener.java:200)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:120)
         ... 11 more
    [10/Dec/2009:21:21:44] failure (25757): PWC1306: Startup of context /wstest failed due to previous errors
    [10/Dec/2009:21:21:44] failure (25757): Null component com.sun.web-3:type=JspMonitor,name=jsp,WebModule=//localhost/wstest,J2EEApplication=null,J2EEServer=none
    [10/Dec/2009:21:21:44] info (25757): CORE3280: A new configuration was successfully installed
    [10/Dec/2009:21:21:44] info (25757): WSSERVLET13: JAX-WS context listener destroyedAm I simply missing something obvious here?
    Thanks,
    Bill

    OK, I've made significant progress.
    As I suspected, JAX-WS was indeed supposed to generate the missing class for me, but while it appears to do so automatically when deploying in Tomcat, it is necessary to hack your build.xml file to add the generated classes to your WAR file for WS7. Reference [http://developers.sun.com/webtier/reference/techart/websvcs_nb.html] for a (rather dated) description of how to deploy a JAX-WS service on WS7 (using Netbeans 5.0!).
    Note that as of NB6.7/6.8 much of the manual process is now done automatically by Netbeans, but curiously, not the part that actually causes the web service code to be generated. For that, we have to manually modify the build.xml to include a "-pre-dist" target that invokes the wsgen Ant task.
    This is the target I added to build.xml for this sample calculator service:
      <target name="-pre-dist">
        <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
          <classpath path="${javac.classpath}:${j2ee.platform.classpath}"/>
        </taskdef>
        <wsgen
          debug="true"
          keep="true"
          destdir="build/web/WEB-INF/classes"
          resourcedestdir="build/web/WEB-INF/classes"
          xendorsed="true"
          sei="org.me.calculator.CalculatorWS">
          <classpath>
            <pathelement path="${javac.classpath}:${j2ee.platform.classpath}"/>
            <pathelement location="${java.home}/../lib/tools.jar"/>
            <pathelement location="build/web/WEB-INF/classes"/>
          </classpath>
        </wsgen>
      </target>That will allow the project to build and deploy successfully, and I am now able to view my WSDL.
    However, at first the service itself was not working. After a bit of casting about, I determined that this was due to the fact that at some point I had added the METRO library to the project rather than simply the JAX-WS 2.2 library. After returning the configuration to just use JAX-WS and doing a clean build and deploy, the simple web service now works!
    One thought does emerge from all this, though: if the built in support for Tomcat runs wsgen for me when I deploy an app to that container, perhaps the Sun WS7 team needs to update their Netbeans plugin to do this for us, too. I should probably open a support case on that...
    OK, now on to real work. ;-)
    Bill

  • How to run a JAX-RPC web service

    I wrote the essential interface and classes to build a JAX-RPC web service, and I installed the J2SE 1.4.2 and Java Web Services Developer Pack 1.2 in Windows XP.
    I have read the Java Web Services Tutorial, but is so confusing for me.
    Anyone can provide the steps about the environment config, compile, package, and run the web service in Tomcat? thx

    I wrote these interface and class to create a simple web service:
    package test;
    import java.rmi.*;
    public interface HelloIF extends Remote {
    String sayHello(String s) throws RemoteException;
    package test;
    public class HelloImpl implements HelloIF {
    public String sayHello(String s) {
    return message + " " + s;
    I compiled these 2 and the *.class files exist in D:\backup\JAVA\fyp\test
    and then I wrote the config.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
    <service name="MyHelloService" targetNamespace="urn:Foo" typeNamespace="urn:Foo" packageName="test">
    <interface name="test.HelloIF" />
    </service>
    </configuration>
    I placed the config.xml in D:\backup\JAVA\fyp, then I type the following command:
    D:\backup\JAVA\fyp>wscompile -define config.xml -model model.gz
    the system response is:
    error: RmiModeler error: java.lang.ClassNotFoundException: test$HelloIF
    what's wrong?

  • What happens when a OUT parameter of a web-service returns an empty string

    Hi,
    Any idea on how to deal with the situation when a web-service returns an empty string
    I get the following System Exception:-
    Caused by: java.lang.AssertionError: Attempt to set empty javaType to ticketResponse(out,0) :: fuego.type.FuegoClass$LazyRef@6770f2. It must be null or a valid java type.
    It therefore either expects a null value or a valid java type...
    Since it goes into a system exception, the activity is not completed and nothing is inserted into the web-service..
    How do we resolve this error inside of BPM?

    Thanks Ben for your replies.
    Before I attempt changing a VI that was written by a client and make a total mess of it, there's something I'd like to point out.
    I tried the re-entrant VI approach and that didn't go any further than the VIT approach, and probably for the same reason(s).
    The interesting part is that (with the VIT approach) the same VIT is called by another process and it works fine.  It is just for the process that has it appear within 2 sub-panels.  So the issue is related to having either having two instances spawn at once of the same VIT or it is related to the sub-panels.  I think it is the two instances (or copies of the VIT) that causes LV to caugh...
    So you are trying to tell me that the above description is accurate and it is because of the private methods...??...
    How would I "wrap" those private methods into public ones?  The seems to be a piece of this puzzle that I am not yet grasping..
    Thanks for your patience and help.
    RayR

  • BUG: Web service returns request XML as response when result too large

    Hi,
    sorry for cross-posting, but the Web Services forum seems to be quite abandoned and this is an urgent issue for me.
    I have a web service returning some records of a given type (created using JDeveloper 10.1.3.3). The running environment and the service implementation do not seem to make any difference, as the situation is the same whether running it in embedded OC4J or in AS 10.1.3.1, and whether it is generated from a PL/SQL procedure or a method of a plain Java class.
    The problem is that if the result of this web service is too large (contains a lot of records), then the processing halts in some Oracle class in some web service library, so not in a debuggable generated web service source or in the service implementation itself.
    I think that the XML processing halts because of a "java.lang.OutOfMemoryError: Java heap space".
    Then a more serious problem follows: the service doesn't return a fault message but the original request XML as a response. Obviously, this can lead to some really unexpected errors.
    To reproduce this error:
    1. Create a Java class with a method returning an array of an arbitrary type, of the size specified in an input parameter.
    2. Create a web service from this class.
    3. Call it multiple times increasing the size parameter in every call until you get back the request as response or any error message.
    For example:
    - if you test the web service using the web page generated to access the endpoint, then you can see the response XML - in case you don't get an Internal Server Error (Java heap space).
    - if you use a generated web service proxy for testing, then it will give an error saying "unexpected element name: expected={namespace}someOperationResponseElement
    actual={namespace}someOperationElement".
    Any ideas how to locate / solve this problem?
    Regards,
    Patrik

    Patrik,
    the usual recommendation is to try with 10.1.3.3 instead of 10.1.3.1 to exclude you are hunting down an already fixed issue. From what you describe, the error seems less JDeveloper related than OC4J or OracleAs.
    So in case it reproduces in 10.1.3.3 I suggest to create a testcase and open a service request with support, or try the OC4J forum in case its known there.
    Frank

  • Parse errors while creating a Web service from Java class!

    Can anybody tell me please, is it possible to create a Web Service from java class where the input from user is required ?
    I have the following program, which is successfully compiled, but when I'm trying to make a web service in JDeveloper, the following error occurs:
    "Validation failed.
    The implementation class primePackage.isPrime ofport type MyWebService contains parse errors."
    import java.io.*;
    import java.util.*;
    class isPrime
    public static void main (String args[])
    Scanner reader = new Scanner(System.in);
    int n;
    System.out.println ("Enter a number you want to know is it prime or not");
    n=reader.nextInt();
    if (isPrime(n))
    System.out.println ("True");
    else
    System.out.println ("False");
    static boolean isPrime (int n)
    int i=2;
    while (i<=n-1)
    if (n%i==0)
    return false;
    i++;
    return true;
    }

    Hi,
    Can anybody tell me please, is it possible to create
    a Web Service from java class where the input from
    user is required ?Yes, the parameters of your method will be mapped in WSDL.
    But i've some considerations about your code.
    I suggest you change the name of isPrime do Prime, its a good code convention to put the name of class starting with Upper case. and isn't good the name of class equals to name of method.
    I suggest you to change the "static boolean isPrime (int n)" to "public boolean isPrime(int n)" to publish a method as a WebService method it's must be public and not static. After this change try to generate your Web Service.
    Regards.

  • Calling a Web Service from Java

    Our java guru (who is out sick....AHHHH) created all the calls that are needed to access the web service that he has running. For example the call getLongList(String user, String password) will return a list of all outstanding transactions. He made a jar file that has service has class files for PortType, Service, Service Locator and Soap Binding stub.
    How do I call this web service from java? Do I have to import it into my classpath? or just call these parameters from within my java code?

    never mind...i got it

Maybe you are looking for