Comment faire un appel par un javax.xml.ws.Service

Créé un nouveau standard de java 7 projet dans Eclipse et ont réussi à obtenir une instance d'un javax.xml.ws.Service comme suit:

  String wsdlURL = "http://example.com:3000/v1_0/foo/bar/SomeService?wsdl";
  String namespace = "http://foo.bar.com/webservice";
  String serviceName = "SomeService";
  QName serviceQN = new QName(namespace, serviceName);

  Service service = Service.create(new URL(wsdlURL), serviceQN);

Cela fonctionne très bien dans une méthode main, donc autant que je peux voir, que de la partie des travaux. Mais je ne peux pas comprendre comment l'utiliser effectivement. Dans SoapUI, j'appelle cela du même service avec une demande qui se présente comme suit:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://foo.bar.com/webservice">
   <soapenv:Header/>
   <soapenv:Body>
      <web:SomeWebServiceRequest acAccountName="name" acAccountPassword="password">
         <SomeRequest>
            <id>012345678901234</id>
            <action>Fix</action>
         </SomeRequest>
      </web:SomeWebServiceRequest>
   </soapenv:Body>
</soapenv:Envelope>

Comment puis-je faire la même demande en Java? Mon objectif est que j'ai une longue liste de ces ids, et j'ai besoin d'exécuter une demande comme ça pour chacun d'eux. Le faire manuellement dans SoapUI est un peu gênant, donc je voudrais l'automatiser avec un simple console Java application.

OriginalL'auteur Svish | 2012-03-29