Hallo, habe einen JAX-WS und möchte das der Inputparameter "pToken" vom Typ "Token" Required ist, aber keine Ahnung wie.
Folgender Code:
Das ganze sieht unter SOAP UI so aus:
[XML]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.demo.de">
<soapenv:Header>
<ser:WebServiceAuthentication>
<password>?</password>
<username>?</username>
</ser:WebServiceAuthentication>
</soapenv:Header>
<soapenv:Body>
<ser:ConfirmOptIn>
<!--Optional:-->
<Token>
<PToken>?</PToken>
</Token>
</ser:ConfirmOptIn>
</soapenv:Body>
</soapenv:Envelope>[/XML]
Rein logisch kann ich mir erklären warum über <Token>
schreibe sieht das so aus:
[XML]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.demo.de">
<soapenv:Header>
<ser:WebServiceAuthentication>
<password>?</password>
<username>?</username>
</ser:WebServiceAuthentication>
</soapenv:Header>
<soapenv:Body>
<ser:ConfirmOptIn>
<!--Optional:-->
<Token>
<!--Optional:-->
<PToken>?</PToken>
</Token>
</ser:ConfirmOptIn>
</soapenv:Body>
</soapenv:Envelope>[/XML]
danke
Folgender Code:
Java:
@WebService(name = "UserManagerService", targetNamespace = "http://service.demo.de")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED, use = SOAPBinding.Use.LITERAL)
public interface UserManagerService
{
@WebMethod(operationName = "Confirm")
public Boolean ConfirmOptIn(@WebParam(name = "WebServiceAuthentication", header = true) AuthData pAuthData, @WebParam(name = "TokenID") Token pToken) throws Exception;
}
Java:
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
public class Token
{
/**
* Property
*/
@XmlElement(required = true)
protected String pToken;
/**
* Constructor
*/
/**
* Getter/Setter
*/
public String getPToken()
{
return pToken;
}
public void setPToken(String token)
{
pToken = token;
}
}
Das ganze sieht unter SOAP UI so aus:
[XML]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.demo.de">
<soapenv:Header>
<ser:WebServiceAuthentication>
<password>?</password>
<username>?</username>
</ser:WebServiceAuthentication>
</soapenv:Header>
<soapenv:Body>
<ser:ConfirmOptIn>
<!--Optional:-->
<Token>
<PToken>?</PToken>
</Token>
</ser:ConfirmOptIn>
</soapenv:Body>
</soapenv:Envelope>[/XML]
Rein logisch kann ich mir erklären warum über <Token>
steht, aber ich weiss nicht wie ich das umgehen soll. Wenn ich in der Klasse "Token" testweise<!--Optional:-->
Java:
required = false
[XML]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.demo.de">
<soapenv:Header>
<ser:WebServiceAuthentication>
<password>?</password>
<username>?</username>
</ser:WebServiceAuthentication>
</soapenv:Header>
<soapenv:Body>
<ser:ConfirmOptIn>
<!--Optional:-->
<Token>
<!--Optional:-->
<PToken>?</PToken>
</Token>
</ser:ConfirmOptIn>
</soapenv:Body>
</soapenv:Envelope>[/XML]
danke
Zuletzt bearbeitet: