How to use WSDL2Java generated files?
I generated the .java files using wsdl2java found in axis2-1.5. Now it generated the 开发者_StackOverflowfiles in this folder structure: src/net/mycompany/www/services/
The files in the services folder are: SessionIntegrationStub and SessionIntegrationCallbackHandler.
I would like to consume the webservice now. I added the net folder to the CLASSPATH environment variable. My java file now imports the webservice using:
import net.mycompany.www.services;
public class test
{
public static void main(String[] args)
{
SessionIntegrationStub stub = new SessionIntegrationStub();
System.out.println(stub.getSessionIntegration("test"));
}
}
Now when I try to compile this using:
javac test.java
I get: package net.mycompany.www does not exist.
Any idea?
As already suggested you need to import the generated stub class, not it's package
import net.mycompany.www.services.SessionIntegrationStub;
You then need to populate your XML request objects. I don't know what your WSDL looks like but for example
SessionIntegrationStub.SessionRequest req = new SessionIntegrationStub.SessionRequest()
req.setParamOne(1)
req.setParamTwo(2)
And finally invoke the web service
SessionIntegrationStub.SessionResponse resp = stub.operationOne(req)
println resp.getAnswer()
Note: The setters and getters above correspond to elements declared in your schema. The SessionRequest and SessionResponse classes would correspond to complex types declared in your schema.
This should presumably say import net.mycompany.www.services.*;
. You missed the asterisk.
Issue here is your package structure. Your test.java is in different package then your generated source.
You need to keep current file in same package structure or provide full path of your generated source in javac like
javac src/net/mycompany/www/services/.java src/net/mycompany/services/.java
精彩评论