cakurien
asked on
Java Webservices using AXIS2 in distributed environment
Hi,
I developed a web services using AXIS2 2.1.4, JDK1.5 and Tomcat5.5 using eclipse IDE. It is working fine in my machine. But remotely it is not working. I have the following doubts.
1. How to access the web services from another machine?
2. How to create a seperate client and server?
3. How to create a .aar file and deployed it in distributed environment
4. What is the role of 'CallBackHandler' class while creating the client
While creating the client part from the WSDL from another machine, and accessing the WEB services I am getting error like 'Connection Refused'.
I developed a web services using AXIS2 2.1.4, JDK1.5 and Tomcat5.5 using eclipse IDE. It is working fine in my machine. But remotely it is not working. I have the following doubts.
1. How to access the web services from another machine?
2. How to create a seperate client and server?
3. How to create a .aar file and deployed it in distributed environment
4. What is the role of 'CallBackHandler' class while creating the client
While creating the client part from the WSDL from another machine, and accessing the WEB services I am getting error like 'Connection Refused'.
Skeleton Part
=============
public com.hbc.ccas.inquiry.impl.GetAliasOnlyFromCCResponse getAliasOnlyFromCC(
com.hbc.ccas.inquiry.impl.GetAliasOnlyFromCC getAliasOnlyFromCC) {
String creditCardNo ="";
System.out.println("Methods getAliasOnlyFromCC() Starts");
creditCardNo = getAliasOnlyFromCC.getCreditCardNoForAliasOnly();
System.out.println("CC NO in Method: "+creditCardNo);
//TODO: Write Logic for getting alias no starts
String aliasNo = "Not GENERATED";
if(!"".equals(creditCardNo)&& creditCardNo != null){
System.out.println("*****");
aliasNoGenerator = new AliasNoGeneratorUtil();
aliasNo = aliasNoGenerator.generateAliasNo(creditCardNo);
}
//TODO: Write Logic for getting alias no ends
GetAliasOnlyFromCCResponse aliasResponse = new GetAliasOnlyFromCCResponse();
aliasResponse.setGetAliasOnlyFromCCReturn(aliasNo);
System.out.println("Methods getAliasOnlyFromCC() Ends");
return aliasResponse;
}
Client Part
===========
try {
String ccNumberInput="5176845698741256";
creditCardStub = new CreditCardInquiryImplServiceStub("http://10.238.232.82:8080/CCASTest1/services/CreditCardInquiryImplService");
//Alias Only Starts
CreditCardInquiryImplServiceStub.GetAliasOnlyFromCC getAliasOnly = new CreditCardInquiryImplServiceStub.GetAliasOnlyFromCC();
getAliasOnly.setCreditCardNoForAliasOnly(ccNumberInput);
System.out.println(getAliasOnly.getCreditCardNoForAliasOnly());
ccres = new CreditCardInquiryImplServiceStub.GetAliasOnlyFromCCResponse();
System.out.println("CHECK1********");
ccres= creditCardStub.getAliasOnlyFromCC(getAliasOnly);
System.out.println("CHECK2********");
System.out.println(ccres.getGetAliasOnlyFromCCReturn());
//Alias Only Ends
ASKER
>>How did u try accessing it remotely?
In another machine, from the WSDL (that I used to create the server parts), I changed the IP address to my system IP , right click the wsdl and create a client. It is creating one stub and callbackhandler class.
Then I create a client using the stub, pointing to my system IP and access the methods.
creditCardStub = new CreditCardInquiryImplServi ceStub("http://10.238.232.82:8080/CCASTest1/services/CreditCardInquiryImplService") ;
Then I tried to invoke the servuce methods
>>Have you created a asynchronous web service??
From the eclipse IDE, the default one 'both sync and async' option is selected.
>>How to create a .aar file and deployed it in distributed environment
Can you provide me and eclipse plugin for that. I used eclipse 3.3 version
In another machine, from the WSDL (that I used to create the server parts), I changed the IP address to my system IP , right click the wsdl and create a client. It is creating one stub and callbackhandler class.
Then I create a client using the stub, pointing to my system IP and access the methods.
creditCardStub = new CreditCardInquiryImplServi
Then I tried to invoke the servuce methods
>>Have you created a asynchronous web service??
From the eclipse IDE, the default one 'both sync and async' option is selected.
>>How to create a .aar file and deployed it in distributed environment
Can you provide me and eclipse plugin for that. I used eclipse 3.3 version
could you see the WSDL using the below link?
http://10.238.232.82:8080/CCASTest1/services/CreditCardInquiryImplService?wsdl
http://10.238.232.82:8080/CCASTest1/services/CreditCardInquiryImplService?wsdl
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Take a look at the service archiver plugin of Axis 2
http://ws.apache.org/axis2/tools/1_4/eclipse/servicearchiver-plugin.html
http://ws.apache.org/axis2/tools/1_4/eclipse/servicearchiver-plugin.html
How did u try accessing it remotely?
>>How to create a separate client and server?
By default they are separated you don't need to do any thing infact any one can create there own client to invoke you web service, if in you case both have got generated at the same place then you check src all the Stub classes have to be separated and DataTypes also. I suggest better generate a separate project for client all together it take hardly 2 mins.
>>How to create a .aar file and deployed it in distributed environment
you can deploy a .aar file only if you are using a server like WSAS (web Service application server of WSo2) but let me see if there is any other way. you may have to use http://ws.apache.org/axis2/tools/1_2/maven-plugins/maven-aar-plugin.html
>> What is the role of 'CallBackHandler' class while creating the client
Have you created a asynchronous web service??