I'm trying to generate a webservice client with wsdl2java from axis2 (version 1.6.1).
./wsdl2java.sh -uri http://www.ncbi.nlm.nih.gov/entrez/eutils/soap/v2.0/efetch_snp.wsdl
When I call this service, I get an Exception.
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement {http://www.ncbi.nlm.nih.gov/soap/eutils/efetch_snp}Rs
try {
EFetchSnpServiceStub fetchService = new EFetchSnpServiceStub();
EFetchSnpServiceStub.EFetchRequest reqIdSnp = new EFetchSnpServiceStub.EFetchRequest();
reqIdSnp.setId("193925233");
EFetchSnpServiceStub.EFetchResult resIdSnp = fetchService.run_eFetch(reqIdSnp);
} catch (Exception e) {
System.out.println(e.toString());
}
With soaptest however I can see the Rs Tag in the result.
<Rs rsId="193925233" snpClass="snp" snpType="notwithdrawn" molType="genomic" bitField="050000000005000000000100" taxId="3702">
How can I fix this exception? The WSDL is not under my control.
Rs
occurs, as well as the relevant parts of the WSDL (the element type declarations). Maybe the service's response really is violating the WSDL contract, that's entirely possible. Maybe it uses a newer WSDL than the one you have. – Lorenza