Autor Beitrag
infozeit
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 09.09.09 11:05 
hallo zusammen,

folgendes Problem:

wie definiere ich Prefix für Request-Soap-Nachrichtung? Ich verwende WSSecurity Username Token.

Ich versuche von einem C# Web Service Client aus auf einen Java Web Service zuzugreifen.


Habe mir die C# Klasse per wsdl Datei generieren lassen und diese dann eingebunden.

die Request-Soap-Nachrichtung sieht so aus:


ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <soap:Header>
    <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsdwsse">
      <UsernameToken xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <Username>test</Username>
        <Password Type="string">Dqd+qMC</Password>
        <Nonce>knHBWQfrdxKY</Nonce>
        <Created>2009-07-31T19:14:09+02:00</Created>
      </UsernameToken>
    </Security>
  </soap:Header>
<soap:Body>
  </soap:Body>
</soap:Envelope>



die Frage ist, was soll ich machen, damit die Prefix für Request-Soap-Nachrichtung wie Folgende definiert werden:

ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope 
xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

  <env:Header>
    <wsse:Security env:mustUnderstand="1">
      <wsse:UsernameToken>
        <wsse:Username>test</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">Dqd+qMC</wsse:Password>
        <wsse:Nonce>knHBWQfrdxKY</wsse:Nonce>
        <wsu:Created>2009-07-31T19:14:09+02:00</wsu:Created>
      </wsse:UsernameToken>
    </wsse:Security>
  </env:Header>
<soap:Body>
  </soap:Body>
</soap:Envelope>


Moderiert von user profile iconChristian S.: XML-Tags hinzugefügt
infozeit Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 09.09.09 11:48 
wenn es keine Prefix in Soap header gibt, dann bekommt man die Fehlermeldung beim Anrufen des WebServices:

WSDoAllReceiver: Incoming message does not contain required Security header
infozeit Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 09.09.09 11:53 
bei Java kann man Klasse

import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPMessage;

verwenden, um requested-soap-message zu manipulieren, gibt ähnliche Klasse bei .NET?