2009-07-31 24 views
0

Dies steht in Beziehung zu previous question. Ich habe das Hauptproblem behoben, da ich einen Großteil des Codes aktualisiert habe, aber ich habe immer noch ein Problem. Wie kann ich einer benutzerdefinierten SOAPHandler-Klasse ein neues Element zu einer SOAP-Nachricht hinzufügen? Ich muss der Nachricht einen Benutzernamen und ein Passwort hinzufügen. Wenn ich benutze:So fügen Sie ein Element mit einem benutzerdefinierten SOAPHandler hinzu

public boolean handleMessage(SOAPMessageContext context) { 

    SOAPMessage msg = context.getMessage(); 
    SOAPPart part = msg.getSOAPPart(); 
    SOAPEnvelope envelope = part.getEnvelope(); 

    .... //additional header information 

    SOAPElement element.addChildElement("Username", "sse"); 
    element.addTextNode("user1"); 
    element.addChildElement("Password", "sse"); 
    element.addTextNode("1234"); 
} 

ich mit diesem enden, wo die Tags geschlossen sind und die Werte sind nicht eingeschlossen:

<sse:Username/>user1 
<sse:Password/>1234 

ich mit dem Benutzernamen und Passwort wie diese formatiert wollen am Ende:

<sse:Username>user1</sse:Username> 
<sse:Password>1234</sse:Password> 

Wie kann ich die Werte (user1 und 1234) in das Element eingeschlossen bekommen?

Antwort

0

Try this:

element.addChildElement("Password", "sse").addTextNode("1234"); 
0

Abgesehen von der Tatsache, dass die Linie

SOAPElement element.addChildElement("Username", "sse"); 

nicht gültig Java ist, müssen Sie daran denken, dass addChildElement das Element neu erstellte Kind zurückgibt, und Sie müssen die Textknoten dazu hinzufügen, nicht zu den Eltern. Ihr gesamter Code besteht darin, einen untergeordneten Knoten (leer) hinzuzufügen, dann einen Textknoten hinzuzufügen, dann einen weiteren leeren untergeordneten Knoten und dann einen weiteren Textknoten.

Sie wollen wahrscheinlich diese:

element.addChildElement("Username", "sse").addTextNode("user1"); 
element.addChildElement("Password", "sse").addTextNode("1234"); 

Als abschließende Bemerkung zu einem Web-Service von Java SEE sprechen nur zu Tränen und Haarausfall führen. Microsoft SEE-Webdienste sind nicht standardkonform (schockierend, ich weiß).

Verwandte Themen