MudGuard: /SOAP java.xml.soap HTTP Header hinzufügen

Hi,

ich habe ein Problem mit javax.xml.soap:

Ein soap-Request braucht (der Server verlangt es) einen bestimmten HTTP-Header ("SOAPAction" muß einen definierten Wert haben).
Egal was ich anstelle, der soap-Request geht über die Leitung, aber der SOAPAction-Header hat immer den Wert ""

Folgender Code

  
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();  
MessageFactory messageFactory = MessageFactory.newInstance();  
SOAPConnection soapConnection = soapConnectionFactory.createConnection();  
SOAPMessage soapRequest = messageFactory.createMessage();  
  
soapPart.setContent(new org.jdom.transform.JDOMSource(doc)); //doc ist ein Document, der Teil paßt!  
  
MimeHeaders hd = soapRequest.getMimeHeaders();  
  
/*  
egal welche der folgenden add/set Header Methoden ich nutze, der SOAPAction  
auch egal, ob ich jeweils die remove...Header drin habe oder nicht.  
- der SOAPAction-Header wird als "" übertragen:  
*/  
  
//hd.removeHeader("SOAPAction");  
//hd.addHeader("SOAPAction", "\"http://test"");  
//hd.addHeader("SOAPAction", "http://test");  
//hd.setHeader("SOAPAction", "\"bla\"");  
//hd.setHeader("SOAPAction", "blubb");  
//soapPart.removeMimeHeader("SOAPAction");  
//soapPart.setMimeHeader("SOAPAction", "\"soapPartHeadertest\"");  
//soapPart.addMimeHeader("SOAPAction", "\"addMimetest\"");  
//soapPart.setMimeHeader("SOAPAction", "soapPartHeadertest123");  
//soapPart.addMimeHeader("SOAPAction", "addMimetest123");  
  
soapRequest.saveChanges();  
  
SOAPMessage soapResponse = soapConnection.call(soapRequest, theUrl); //funktioniert im Prinzip, d.h. der Request geht auf die Leitung  

Wireshark zeigt mir an, daß folgende Header über die Leitung gehen (Servername/URL hab ICH anonymisiert - die sind ja auch nicht das Problem, der Request kommt beim Server an, wird auch beantwortet, aber mit sowas wie "SOAPAction: wrong value" ):

POST /correctUrlForTheRequest HTTP/1.0\r\n
Content-Type: text/xml; charset=utf-8\r\n
Accept: application/soap+xml, application/dime, multipart/related, text/*\r\n
User-Agent: Axis/1.1\r\n
Host: testserver\r\n
Cache-Control: no-cache\r\n
Pragma: no-cache\r\n
SOAPAction: ""\r\n
Content-Length: 2218\r\n
\r\n

Was mache ich falsch?
Es muß doch irgendeinen Weg geben, im SOAPAction Header den von mir gewünschten Wert zu übertragen ...

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  1. Hi,

    ich habe ein Problem mit javax.xml.soap:
    Ein soap-Request braucht (der Server verlangt es) einen bestimmten HTTP-Header ("SOAPAction" muß einen definierten Wert haben).
    Egal was ich anstelle, der soap-Request geht über die Leitung, aber der SOAPAction-Header hat immer den Wert ""

    Ok, hab das ganze umgangen, indem ich auf das soap-Zeugs verzichtet hab und einen normalen HTTP-Request (HTTPUrlConnection) gemacht hab ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.