@WebServiceRef(wsdlLocation = "http://127.0.0.1:8080/project/NewService?wsdl")
static Service service;
<target name="run.wsclient" depends="ejbjar">
<java classname="testcases.WSClient" fork="yes" dir=".">
<classpath refid="classpath" />
</java>
</target>
public void doTest(String[] args) {
try {
System.out.println("Calling Service...");
URL url = new URL("http://127.0.0.1:8080/project/NewService?wsdl");
QName qname = new QName("urn:session", "NewService");
[B]
/* Changes made: commented */
//service = Service.create(url, qname);
/* Changes made: added */
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(url, qname);
[/B]System.out.println(service.getServiceName());
System.out.println("Retrieving port from the service " + service);
NewService newService = service.getPort(qname, NewService.class);
System.out.println(" Invoking create operation on the NewService port");
SomeObj so = newService.create("Hello");
System.out.println("Created: " + so.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
run.wsclient:
[java] Calling Service...
[java] java.lang.NullPointerException
[java] at java.lang.System.arraycopy(Native Method)
[java] at org.apache.xerces.impl.xs.XSModelImpl.getAnnotations(Unknown Source)
[java] at org.jboss.ws.metadata.wsdl.xmlschema.WSSchemaUtils.copyXSModel(WSSchemaUtils.java:730)
[java] at org.jboss.ws.tools.JavaToXSD.parseSchema(JavaToXSD.java:202)
[java] at org.jboss.ws.tools.wsdl.WSDL11Reader.processTypes(WSDL11Reader.java:391)
[java] at org.jboss.ws.tools.wsdl.WSDL11Reader.processDefinition(WSDL11Reader.java:172)
[java] at org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:128)
[java] at org.jboss.ws.metadata.umdm.ServiceMetaData.getWsdlDefinitions(ServiceMetaData.java:321)
[java] at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaData(JAXRPCClientMetaDataBuilder.java:115)
[java] at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaData(JAXRPCClientMetaDataBuilder.java:86)
[java] at org.jboss.ws.core.jaxrpc.client.ServiceImpl.<init>(ServiceImpl.java:111)
[java] at org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:157)
[java] at org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:128)
[java] at testcases.WSClient.doTest(WSClient.java:39)
[java] at testcases.WSClient.main(WSClient.java:82)
Originally posted by James Hannoy:
Got a reference of this under the following FAQ:
http://jbws.dyndns.org/mediawiki/index.php?title=FAQ
Which says under section "Why do I get a NullPointerException when using wstools?" that this is a ANT bug.
Originally posted by James Hannoy:
So I have copied xercesImpl.jar and xml-apis.jar files of xerces-2_9_0 version to my ANT/lib folder.
But still no luck and getting the same exception![]()
This is a xerces bug that was fixed in 2.7.0. Unfortunately, the latest version of ant comes with 2.6.2. You need to update the xerces jars in your ANT_HOME/lib directory to be at least 2.7.0
Originally posted by James Hannoy:
I think I have to check from where it is getting that 2.6.2![]()
Don't get me started about those stupid light bulbs. |