Apache Muse - Testing Your Application
When communicating with a resource, you can create a client for that resource, as described earlier.
After adding the generated client to your classpath, you can create a test application for the sample resource like so:
In the above code you should replace "http://..." literals with the URI for your resource types. For resources created using
the wsdl2java tooling, a default resource instance is created when the endpoint is deployed. The URIs are defined as follows:
public static void main(String[] args) {
try {
// insert your endpoint URIs here
URI producerURI = URI.create("http://...");
URI consumerURI = URI.create("http://...");
EndpointReference epr = new EndpointReference(producerURI);
MyServiceProxy client = new MyServiceProxy(epr);
// optional, but useful
client.setTrace(true);
// get the ServerName property
String serverName = client.getServerName();
// invoke the WSN Subscribe operation
EndpointReference consumer = new EndpointReference(consumerURI);
client.subscribe(consumer, null, null);
}
catch (SoapFault fault) {
fault.printStackTrace();
}
}
For J2EE applications:
For example, if the port number is 8080, the name of the WAR file is my-resources.war, and the name of the service is MyResource, then a valid URI would be:
- Host:
http://host:port
where host is your IP address, host name, or localhost, and port is your J2EE container's port number.- J2EE context path: The context path for the WAR (this is usually the name of the .war file).
- Resource context path:
services/name
where name is the name of the generated service. This value is also specified in muse.xml's <context-path/> element.
http://localhost:8080/my-resources/services/MyResource
For OSGi applications:
For example, if the port number is 80, the name of the bundle file is my-resources.jar, and the name of the service is MyResource, then a valid URI would be:
- Host:
http://host:port
where host is your IP address, host name, or- Bundle context path: this is the name of the OSGi bundle.
- Resource context path:
services/name
where name is the name of the generated service. This value is also specified in muse.xml's <context-path/> element.
http://localhost:80/my-resources/MyResource
The setTrace() call that is shown above will cause the client to print all of the outgoing and incoming messages to standard output. This is extremely useful when developing your endpoints.
Finally, the EndpointReference.addParameter() method can be used in the code above to target resources whose EPRs that have one or more WS-A reference parameters.