axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bansal, Vimal" <Vimal.Ban...@lionbridge.com>
Subject RE: problem in invoke the webservice using REST Style by client program
Date Fri, 14 Jul 2006 10:48:47 GMT
Hi kinichiro,
  as per my earlier mail I am getting the access for my service using following url by browser
  http://localhost:8080/Axis2/rest/servicename/methodname?param0=23
  output is:-
 - <ns:methodnameResponse xmlns:ns="http://org.apache.axis2/xsd">
  <return>hfdj</return> 
  <return>dfds</return> 
  <return>Andrews</return> 
  <return>pvcv</return> 
  <return>21</return> 
  </ns:methodnameResponse >
this is nice .
now I am writing the client program for same my code snippets is following:

  public class  RestClient
{
    private static EndpointReference targetEPR = new EndpointReference("http://localhost:8080/Axis2/rest/servicename/methodname?param0=34");

    public static void main(String[] args) {
        try {


            //ServiceClient sender = null;
            RESTCall call = new RESTCall();
            Options options = new Options();
            options.setTo(targetEPR);
            options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
            options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE);
            options.setProperty(Constants.Configuration.HTTP_METHOD,Constants.Configuration.HTTP_METHOD_GET);
            call.setOptions(options);
            System.out.println("$$$ B4 sendReceive ... $$$ ");
            OMElement result= call.sendReceive();
            System.out.println("$$$ After sendReceive ... ");
            System.out.println(result.getFirstElement().getText());
          }
        catch (AxisFault axisFault) {
             System.out.println(axisFault+":"+axisFault.getMessage());
         }
	  catch (Exception axisFault) {
             System.out.println(axisFault+":"+axisFault.getMessage());
        }
    }
   but i am not getting output I am getting following error message at dos prompt.
   org.apache.axis2.AxisFault: Incoming message input stream is null:Incoming message input
stream is null
   what I am missing.url is same for both cases.
  Thanks 
Vimal Bansal

-----Original Message-----
From: Bansal, Vimal [mailto:Vimal.Bansal@lionbridge.com]
Sent: Friday, July 14, 2006 9:32 AM
To: axis-user@ws.apache.org
Subject: RE: problem to invoke the webservice using REST Style


Hi kinichiro,
 Thanks for your response, now problem is fix and i am getting the expected output.one can
use RPCMessageReceiver for any 
 cases,the men thing is that i realize one shoud have only one method define in your service
class,in case of more than one   
 method you would'nt get the excees of all the method.
 you can access your method via following url:-
 http://localhost:8080/Axis2/rest/servicename/methodname?paramo=23
 remember parameter other than param0 in url is not allowed.
 thanks
 Vimal Bansal.
    

-----Original Message-----
From: Kinichiro Inoguchi [mailto:ingc1968@yahoo.com]
Sent: Thursday, July 13, 2006 10:26 AM
To: axis-user@ws.apache.org
Subject: RE: problem to invoke the webservice using REST Style


Hi Bansal,

Test class is like this.

package test;
public class MyService1 {
    public void ping(int element) {
    	System.out.println("value of input value = "+ element);
    }

    public int echo(int element) {
        return element * element;
    }
}

services.xml is like this.
<service name="ComplexTest">
    <description>test service.</description>
    <parameter name="ServiceClass"
locked="false">test.MyService1</parameter>
    <operation name="ping">
        <messageReceiver
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
    </operation>
    <operation name="echo">
        <messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </operation>
</service>

You can call this by REST.
http://localhost:8080/axis2/rest/MyService1/ping?element=15

I could see this log message in tomcat stdout.log
value of input value = 15

It worked fine.

Regards,
kinichiro

--- "Bansal, Vimal" <Vimal.Bansal@lionbridge.com> wrote:

> Hi kinichiro,
>  I have tried for this also but problem is same. can you check the
> link below,
> 
>
http://ws.apache.org/axis2/0_95/api/org/apache/axis2/rpc/receivers/class-use/RPCInOnlyMessageReceiver.html
> 
> in this it is clearly mention that there is no use of
> RpcInOnlyMessageReceiver.finding the method in service may be the
> problem.
> http://localhost:8080/axis2/rest/ServiceName/setData?num=10
> can you send me the running sample code including service.xml,client
> and service if you have.
> Thanks
> Vimal Bansal. 
> 
> -----Original Message-----
> From: Kinichiro Inoguchi [mailto:ingc1968@yahoo.com]
> Sent: Wednesday, July 12, 2006 7:32 PM
> To: axis-user@ws.apache.org
> Subject: RE: problem to invoke the webservice using RESTt Style
> 
> 
> Hi Bansal,
> 
> You must use RPCInOnlyMessageReceiver instead of RPCMessageReceiver,
> because your method is void.
> 
> Regards,
> kinichiro
> 
> --- "Bansal, Vimal" <Vimal.Bansal@lionbridge.com> wrote:
> 
> > Hi kinichiro,
> > Thanks again, tried my all stuff now I have just created one method
> > in my service Say setdata(in num) my code snippets is below just
> for
> > testing purpose
> >   
> >    public void setData(int num)  {
> > 		System.out.println("$$$$Entry in setData");
> > 		System.out.println("value of num ="+ num);
> > 		System.out.println("$$$$Exit from setData");
> > 	}
> >  and i am passing parameter via REST like this,
> > http://localhost:8080/axis2/rest/ServiceName/setData?num=10
> > but i have the same problem i am not getting access of setdata()
> > method.
> > i have also created the client for this when I am running it by dos
> > prompt I am getting this message
> >  org.apache.axis2.AxisFault: Incoming message input stream is
> > null:Incoming mesas
> >  gee input stream is null
> > is there any changes needed to services.xml below is the code for
> > service.xml
> >   <service >
> > 
> > 	<description>
> > 		This is a sample Test Service with one operations setdata 
> > 	</description>
> >     <parameter name="ServiceClass"
> > locked="false">com.poc.service.TestService</parameter>
> >     <operation name="setData">
> >         <messageReceiver
> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver/>
> >     </operation>  
> >      
> >    </service >
> > i think passing the parameter may be problem
> > Thanks
> > Vimal Bansal
> > 
> > -----Original Message-----
> > From: Kinichiro Inoguchi [mailto:ingc1968@yahoo.com]
> > Sent: Tuesday, July 11, 2006 7:15 PM
> > To: axis-user@ws.apache.org
> > Subject: RE: problem to invoke the webservice using RESTt Style
> > 
> > 
> > Hi Vimal,
> > 
> > You can pass parameter via REST like this,
> >
>
http://localhost:8080/axis2/rest/YourService/getProductDetails?productid=12345
> > 
> > And if you still get internal error,
> > could you try change return value String[] to String, please ?
> > 
> > Regards,
> > kinichiro
> > 
> > --- "Bansal, Vimal" <Vimal.Bansal@lionbridge.com> wrote:
> > 
> > > Hi Kinichiro,
> > > Thanks for your response. I tried the service with method
> returning
> > > String type or String[] type. But the real problem is when i am
> > > passing a paramter. For example: String[] getProductDetails(long
> > > productid);
> > > 
> > > The array is basically an array of all the values reteieved from
> a
> > > database, like returnVal[0] will be the first element,
> returnVal[1]
> > > will be the next and so on. The returning type is not an issue.
> Is
> > > the paramter (productid as in my example) creating this problem?
> > How
> > > can we pass paramters?
> > > 
> > > Regards,
> > > Vimal.
> > > 
> > > -----Original Message-----
> > > From: Kinichiro Inoguchi [mailto:ingc1968@yahoo.com]
> > > Sent: Tuesday, July 11, 2006 3:40 PM
> > > To: axis-user@ws.apache.org
> > > Subject: Re: problem to invoke the webservice using RESTt Style
> > > 
> > > 
> > > Hi,
> > > 
> > > If you change your method from String[] getValue(long id) 
> > > to String getValue(long id), does it work ?
> > > 
> > > I faced same kind of issue, and created JIRA.
> > > http://issues.apache.org/jira/browse/AXIS2-880
> > > 
> > > Regards,
> > > kinichiro
> > > 
> > > --- "Bansal, Vimal" <Vimal.Bansal@lionbridge.com> wrote:
> > > 
> > > > 
> > > > Hi All,
> > > > 
> > > > I am a new user of Web Services. I am using Axis2 for
> > implementing
> > > > services. I want to use REST style of Web services. My service
> > > class,
> > > > say MyServices have to service methods:
> > > > 	String getAllValues() and String[] getValue(long id).
> > > > The first service method, that has no parameters, is working
> fine
> > > > when invoked by a client. I am accessing this service through
> the
> > > > link: http://localhost:8080/Axis2/rest/servicename/getAllValues
> > > > I am getting the following result:
> > > > <ns:getAllValuesdsResponse
> xmlns:ns="http://service.poc.com/xsd">
> > 
> > > > 	<return>[33, 34, 35, 36, 37, 38]</return> 
> > > > </ns:getAllValuessResponse>
> > > > My problem is that when I am trying to access the second
> > > service(that
> > > > has one parameter), through the link
> > > > http://localhost:8080/Axis2/rest/servicename/getValue am
> getting
> > an
> > > > axis page showing "Internal server error". How can I access
> this
> > > web
> > > > service? Is there some way to pass the parameter through url?
> > > > My client class is having following code snippets:
> > > > 
> > > > private static EndpointReference targetEPR = new
> > > >
> > >
> >
>
EndpointReference("http://localhost:8080/rest/userservice2/getValue");
> > > > ...
> > > > public static void main(String[] args) {
> > > > 	try {
> > > > 		ServiceClient sender = null;
> > > > 		Options options = new Options();
> > > > 		options.setTo(targetEPR);
> > > > 		options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> > > > 		options.setProperty(Constants.Configuration.ENABLE_REST,
> > > > Constants.VALUE_TRUE);
> > > > 	
> > > >
> > >
> >
>
options.setProperty(Constants.Configuration.HTTP_METHOD,Constants.Configuration.HTTP_METHOD_GET);
> > > > 		sender = new ServiceClient();
> > > > 		sender.setOptions(options);
> > > > 		OMElement result= sender.sendReceive(getPayload());
> > > > 	}
> > > > 	catch(Exception e){	}
> > > > }
> > > > ...
> > > > private static OMElement getPayload() throws Exception{
> > > > 	OMFactory fac =    OMAbstractFactory.getOMFactory();
> > > > 	OMNamespace omNs =
> > > > fac.createOMNamespace("http://service.poc.com/xsd","example1");
> > > > 	OMElement method = fac.createOMElement("getValue", omNs);
> > > > 	OMElement value = fac.createOMElement("Text", omNs);
> > > > 	value.addChild(fac.createOMText(value,"38"));
> > > > 	method.addChild(value);
> > > > 	return method;
> > > > } 
> > > >    
> > > > Thanks and regards,
> > > > Vimal.
> > > > 
> > > > 
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > > 
> > > > 
> > > 
> > > 
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam protection around 
> > > http://mail.yahoo.com 
> > > 
> > >
> >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > 
> > > 
> > > 
> > > 
> > >
> >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > 
> > > 
> > 
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam protection around 
> > http://mail.yahoo.com 
> > 
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> > 
> > 
> > 
> > 
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> > 
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message