java - Problems parsing webservice response (Metro/JAXB) -


Text after "

I have previously generated a metro / JAXB client from a WSDL and unmarshalling / marshling / Java class / SOAP / XML Also worked without problem. I have generated a new customer and I feel that I have not had any problems and I am not sure why WSDL is huge (> 27,000 lines) and I had to use -B-XautoNameResolution because some elements The names are the same except for the case.

I am trying to execute this method / operation:

  @WebService (name = "servicePortType", targetNamespace = "vase: service") @XmlSeeAlso ({ObjectFactory.class}) public interface servicePortType {function unsp__GetSubscriberList of / ** * Service definition * * @param result * @param totalSubsFound * @param getSubListReq * @param paginatedInfo * @param getSubscriberListData * / @WebMethod (operationName = "GetSubscriberList ") @RequestWrapper (localName =" GetSubscriberList ", targetNamespace =" urn: service "className =" Public.name@subscriberlist ") @ResponseWrapper (local name =" GetSubscriberListResult ", targetNamespace =" blur service "Classname =" service .GetSubscriberListResult ") The Public zero Krensbskraibr list (@WebParam (name = "GetSubListReq", targetNamespace = "") GetSubscriberListRequest getSubListReq, @ Vebparam (name = "result", TargetNamespace = "", mode = WebParam.Mode.OUT) holder & lt; ResultCodeStruct & Gt; Results, @WebParam (name = "paged", targetNamespace = "", mode = WebParam.Mode.OUT) holder & lt; PaginatedInfo & gt; PaginatedInfo, @WebParam (name = "TotalSubsFound", targetNamespace = "", Mode = WebParam.Mode.OUT) Holder & lt; Integer & gt; TotalSubsFound, @WebParam (name = "GetSubscriberListData", targetNamespace = "", Mode = WebParam.Mode.OUT) Holder & lt; GetSubscriberListData & gt; GetSubscriberListData); }   

This way will also return customer data and total number of customers. My call looks like this:

  public integers getTotalSubscriptions () throws exceptions {GetSubscriberListRequest subscriberListRequest = factory.createGetSubscriberListRequest (); Holder & lt; ResultCodeStruct & gt; Result = null; Holder & lt; PaginatedInfo & gt; Pagedinfo = null; Holder & lt; Integer & gt; Kulshesfound = Faucet; Holder & lt; GetSubscriberListData & gt; Customer ListData = Null; SubscriberListRequest.setMaxSubscribers (factory.createGetSubscriberListRequestMaxSubscribers (1)); Port.getSubscriberList (Subscriber request, results, paged inputs, total configurations, customer listadata); If (result.value.getResultCode ()! = CODE_SUCCESS) {new exception ("failed call"); } Return to Total Shortcodes. Value.value.intValue (); }   

I get a NullPointerException on the result object. I have detected soap calls and XML has been returned, as expected with the result element.

I have never encountered WebParam.Mode.OUT holder & lt; & Gt; Can the instances be started before calling? whose?

Those elements are wrapped in a GetSubscriberListResult element in SOAP, but since the interface method is defined in @ResponseWrapper, I was expecting them to be unmarshalled in passage in the objects. Probably what I need to do

A lot has been spent on search the internet for a while and the old reference stated that the need to start holding things right method call looks like this:

  public int getTotalSubscriptions () throws exception {GetSubscriberListRequest subscriberListRequest = factory.createGetSubscriberListRequest ( ); Holder & lt; ResultCodeStruct & gt; Result = New Holder & lt; ResultCodeStruct & gt; (Factory.createResultCodeStruct ()); Holder & lt; PaginatedInfo & gt; PaginatedInfo = New Holder & lt; Paged In & gt; (Factory.createPaginatedInfo ()); Holder & lt; Integer & gt; Total Subfound = New Holder & lt; Integer & gt; (New integer (0)); Holder & lt; GetSubscriberListData & gt; Subscriberlist Data = New Holder & lt; GetSubscriberListData & gt; (Factory .createGetSubscriberListData ()); SubscriberListRequest.setMaxSubscribers (factory.createGetSubscriberListRequestMaxSubscribers (1)); Port.getSubscriberList (Subscriber request, results, paged inputs, total configurations, customer listadata); If (result.value.getResultCode ()! = CODE_SUCCESS) {new exception ("failed call"); } Return to Total Shortcodes. Value.value.intValue (); }   

Hope that helps other people with whom the same problem may arise.

Comments