LeMicky | Salut,
Bon à chaque fois que je poste sur le forum personne ne me donne la solution... voyons si cette fois ce sera l'exception.
Je fais du SOAP over SMTP.
Donc j'envoie ma requête SOAP sur une adresse mail :
code java:
Code :
- SOAPTransport ss = new org.apache.soap.transport.smtp.SOAPSMTPConnection(
- /* from/replyto address */ myaddress,
- /* subject */ "SOAP SMTP Request (TEST)",
- /* smtpServer */ myserver,
- /* popPollDelay in millis */ 30000,
- /* popServer */ myserver,
- /* popLogin */ mylogin,
- /* popPassword */ mypassword
- );
- Call call = new Call();
- call.setSOAPTransport(ss); // use smtp transport instead of http
- call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
- call.setTargetObjectURI(myurn);
- call.setMethodName(mymethod);
- Vector params = new Vector();
- params.add(new Parameter("langue", java.lang.String.class,lan_code, null));
- if(geo_code!=null)
- params.add(new Parameter("zonegeo", java.lang.String.class, geo_code, null));
- call.setParams(params);
- URL urls = new URL("mailto:myaddressemail" );
- // URL urls = new URL(refResource.getString("urlSoap" ));
- Response resp = call.invoke(urls,"" );
|
=> je reçois bien le mail, j'ai une appli java qui tourne sur mon poste qui scanne la bal et traite le mail => envoie au web service via http classique de la requête soap, et envoie de la réponse soap à la bal destinataire de la réponse (myaddress ci-dessus) => ex de mail réponse :
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getCountriesResponse xmlns:ns1="urn:ReferentielWebServices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xmlns:ns2="http://xml.apache.org/xml-soap" xsi:type="ns2:Vector">
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">ZA</item>
<item xsi:type="xsd:string">AFRIQUE DU SUD</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">BW</item>
<item xsi:type="xsd:string">BOTSWANA</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">LS</item>
<item xsi:type="xsd:string">LESOTHO</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">NA</item>
<item xsi:type="xsd:string">NAMIBIE</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">SZ</item>
<item xsi:type="xsd:string">SWAZILAND</item>
</item>
</return>
</ns1:getCountriesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
=> jusque là tout marche nickel, là où ça se gatte c'est maintenant car le parserxml n'arrive pas à lire le mail apparemment et me fait l'erreur suivante =>
2003-07-04 11:08:29,388 ERROR 1456125 [Thread-127] - Country : service : [SOAPException: faultCode=SOAP-ENV:Client; msg=Parsing error, response was:
Content is not allowed in prolog.; targetException=org.xml.sax.SAXParseException: Content is not allowed in prolog.]
Apparemment, ça viendrait de l'encryption du mail...
des idées, qqun a déjà été confronté au problème?
|