On Thu, Oct 1, 2009 at 3:06 AM, mule_user <[email protected]> wrote: > > I am a newbie to Axis2. > > I am using the example under: > > I created a web application and deployed that application in the webserber > (WebSphere test server 6.1 in this cases that comes with RAD 7.5). I can > see > my web page as: http://localhost:9081/MyAxis2/index.html > > However, I do not see any registered the registered service when I log in > to > Axis admin console.
Have you put your .aar file to axis2/WEB-INF/services folder? > I deployed axis2.war (which comes with Axis2 1.5 > download). I can successfully see http://localhost:9081/axis2/ and see > getVersion service registered. > > When I run my client, I get error as below: > > Sep 30, 2009 5:14:52 PM org.apache.axis2.deployment.ModuleDeployer deploy > INFO: Deploying module: metadataExchange-1.5 - > file:/C:/workspace-7.5/MyAxis2/WebContent/WEB-INF/lib/mex-1.5.jar > Sep 30, 2009 5:15:00 PM org.apache.axis2.transport.http.HTTPSender > sendViaPost > INFO: Unable to sendViaPost to > url[http://localhost:9081/MyAxis2/CalculatorService] > this url should be some thing like this http://localhost:8080/axis2/services/Version thanks, Amila. > org.apache.axis2.AxisFault: Transport error: 404 Error: Not Found > at > > org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:295) > at > org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190) > at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) > at > > org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:389) > at > > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:222) > at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435) > at > > org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:272) > at > org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) > at > org.apache.axis2.client.ServiceClient.fireAndForget(ServiceClient.java:506) > at > org.apache.axis2.client.ServiceClient.fireAndForget(ServiceClient.java:483) > at CalculatorClient.main(CalculatorClient.java:43) > Transport error: 404 Error: Not Found > > My client code: > > import org.apache.axiom.om.OMNamespace; > import org.apache.axiom.om.OMElement; > import org.apache.axis2.client.Options; > import org.apache.axiom.om.OMFactory; > import org.apache.axis2.addressing.EndpointReference; > import org.apache.axis2.Constants; > import org.apache.axiom.om.OMAbstractFactory; > import org.apache.axis2.client.ServiceClient; > > > public class CalculatorClient { > > private static EndpointReference targetEPR = new > EndpointReference("http://localhost:9081/MyAxis2/CalculatorService"); > > public static void main(String[] args) { > try { > OMFactory omFactory = OMAbstractFactory.getOMFactory(); > OMNamespace omNamespace = omFactory.createOMNamespace > ("http://localhost:9081/MyAxis2", "c"); > > OMElement method1 = omFactory.createOMElement("setTerms", > omNamespace); > OMElement value1 = omFactory.createOMElement("t1", > omNamespace); > value1.addChild(omFactory.createOMText(value1, "3.5")); > method1.addChild(value1); > > OMElement value2 = omFactory.createOMElement("t2", > omNamespace); > value2.addChild(omFactory.createOMText(value2,"3.2")); > method1.addChild(value2); > > OMElement method2 = omFactory.createOMElement("getResult", > omNamespace); > OMElement value3 = omFactory.createOMElement("operation", > omNamespace); > value3.addChild(omFactory.createOMText(value3, > "multiply")); > //or:"add", "subtract", "divide" > method2.addChild(value3); > > Options options = new Options(); > options.setTo(targetEPR); > options.setTransportInProtocol(Constants.TRANSPORT_HTTP); > > ServiceClient serviceClient = new ServiceClient(); > serviceClient.setOptions(options); > > serviceClient.fireAndForget(method1); // Exception is > thrown in this line > Thread.sleep(1000000); > > OMElement result = serviceClient.sendReceive(method2); > > String response = result.getFirstElement().getText(); > System.out.println("Result for *multiply* operation : " + > response); > > } catch (Exception e) { > System.out.println(e.getMessage()); > } > } > } > > > Exception is thrown on line: serviceClient.fireAndForget(method1); > > I have not kept the class in any package at this time (it is in default > package). Name of the project is MyAxis2 and I can access > http://localhost:9081/MyAxis2/index.html when the server runs. > > My server code is: > > import javax.xml.stream.XMLStreamException; > import javax.xml.namespace.QName; > > //Axis2 classes > import org.apache.axiom.om.OMElement; > import org.apache.axiom.om.OMFactory; > import org.apache.axiom.om.OMAbstractFactory; > import org.apache.axiom.om.OMNamespace; > > > public class CalculatorService { > > private float term_1; > private float term_2; > > //private String namespace = > "http://www.simpleCalculator.com/calculator"; > [b]private String namespace = "http://localhost:9081/MyAxis2";[/b] > > public void setTerms(OMElement element) > throws XMLStreamException { > element.build(); > element.detach(); > > OMElement term1Element = > element.getFirstChildWithName(new QName(namespace, "t1")); > OMElement term2Element = > element.getFirstChildWithName(new QName(namespace, "t2")); > > term_1 = Float.valueOf(term1Element.getText()).floatValue(); > term_2 = Float.valueOf(term2Element.getText()).floatValue(); > } > > public OMElement getResult(OMElement element) > throws XMLStreamException { > element.build(); > element.detach(); > > float result = 0.0f; > > OMElement operationElement = element.getFirstElement(); > String operation = operationElement.getText(); > > if(operation.equalsIgnoreCase > ("add")){ result = term_1 + term_2; } > if(operation.equalsIgnoreCase > ("subtract")){ result = term_1 - term_2; } > if(operation.equalsIgnoreCase > ("multiply")){ result = term_1 * term_2; } > if(operation.equalsIgnoreCase > ("divide")){ result = term_1 / term_2; } > > OMFactory omFactory = > OMAbstractFactory.getOMFactory(); > OMNamespace omNamespace = > omFactory.createOMNamespace(namespace, "ns"); > OMElement answer = > omFactory.createOMElement("getResultResponse", omNamespace); > OMElement value = > omFactory.createOMElement("answer", omNamespace); > value.addChild(omFactory.createOMText > (value, String.valueOf(result))); > answer.addChild(value); > > return answer; > } > } > > > Again, the server is also in the same default package, as the client code. > > As I mentioned before, I just deployed this application (as war file) in > the > test server (WebSphere test server 6.1 that comes with RAD 7.5). It is not > a > jar file. And I did not convert the WAR file to aar file. > > Any suggestion will be appreciated. > > > -- > View this message in context: > http://www.nabble.com/Axis2-%281.5%29---AxisFault%3A-Transport-error%3A-404-Error-tp25689461p25689461.html > Sent from the Axis - User mailing list archive at Nabble.com. > > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
