You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Suneet Shah <su...@gmail.com> on 2009/11/09 07:47:00 UTC

Unmarshalling Error

Hello:

I am getting an unmarshalling error when I am calling my service. 
However, the error only occurs when I turn on schema validation. It does 
not occur when schema validation has been turned off. I have pasted my 
client code, exception and wsdl below.

Any suggestions on what could be wrong, would be greatly appreciated.

Regards
Suneet



Client Code:

Service service = 
Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/ExampleConnectorService"));

service.addPort(new 
QName("http://www.openiam.org/service/connector","ExampleConnectorServicePort"),
SOAPBinding.SOAP11HTTP_BINDING,
"http://localhost:8080/idm-connector-ws/ExampleConnectorService");

ConnectorService port = service.getPort(new 
QName("http://www.openiam.org/service/connector","ExampleConnectorServicePort"), 

ConnectorService.class);


log.info("connector service client " + port);

AddRequestType addReqType = new AddRequestType();
PSOIdentifierType idType = new 
PSOIdentifierType(lg.getId().getLogin(),null, "target");
addReqType.setPsoID(idType);
addReqType.setRequestID("R4589");
addReqType.setTargetID(lg.getId().getManagedSysId());

ExtensibleUser extUser = new ExtensibleUser();
extUser.setName(user.getFirstName() + " " + user.getLastName());
extUser.getAttributes().add(new 
ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));

addReqType.getData().getAny().add(extUser);

port.add(addReqType);

Exception:

DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the 
declaration of element 'reqType'. Location: line 4
Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain 
doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot 
find the declaration of element 'reqType'.
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder. 
java:661)
at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
at 
org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:238)
at 
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:117)
at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104)

Generated Request:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
<reqType targetID="102" requestID="R4589" 
xmlns="http://www.openiam.org/service/connector">
<psoID targetID="target" ID="test01.user04a"/>
<data>
<extensibleUser>
<name>Test User03</name>
<operation>0</operation>
<attributes>
<name>cn</name>
<value>Test User03</value>
<operation>1</operation>
</attributes>
</extensibleUser>
</data>
</reqType>
</ns1:add>
</soap:Body>
</soap:Envelope>

WSDL:


<wsdl:definitions name="ExampleConnectorService" 
targetNamespace="http://www.openiam.org/service/connector">
−
<wsdl:types>
−
<xs:schema attributeFormDefault="unqualified" 
elementFormDefault="qualified" 
targetNamespace="http://www.openiam.org/service/connector">
<xs:element name="addRequest" type="tns:AddRequestType"/>
<xs:element name="addResponse" type="tns:AddResponseType"/>
<xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
<xs:element name="deleteResponse" type="tns:ResponseType"/>
<xs:element name="expirePasswordRequest" 
type="tns:ExpirePasswordRequestType"/>
<xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
<xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
<xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
<xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
<xs:element name="lookupRequest" type="tns:LookupRequestType"/>
<xs:element name="lookupResponse" type="tns:LookupResponseType"/>
<xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
<xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
<xs:element name="resetPasswordRequest" 
type="tns:ResetPasswordRequestType"/>
<xs:element name="resetPasswordResponse" 
type="tns:ResetPasswordResponseType"/>
<xs:element name="select" type="tns:SelectionType"/>
<xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
<xs:element name="setPasswordResponse" type="tns:ResponseType"/>
<xs:element name="validatePasswordRequest" 
type="tns:ValidatePasswordRequestType"/>
<xs:element name="validatePasswordResponse" 
type="tns:ValidatePasswordResponseType"/>
−
<xs:complexType name="ExtensibleType">
−
<xs:sequence>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" 
processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:complexType>
−
<xs:complexType name="SelectionType">
−
<xs:complexContent>
−
<xs:extension base="tns:QueryClauseType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" 
name="namespacePrefixMap" nillable="true" 
type="tns:NamespacePrefixMappingType"/>
</xs:sequence>
<xs:attribute name="path" type="xs:string" use="required"/>
<xs:attribute name="namespaceURI" type="xs:string" use="required"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="QueryClauseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
<xs:sequence/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="NamespacePrefixMappingType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
<xs:sequence/>
<xs:attribute name="prefix" type="xs:string" use="required"/>
<xs:attribute name="namespace" type="xs:string" use="required"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="AddRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
<xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
<xs:element name="data" type="tns:ExtensibleType"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData" 
nillable="true" type="tns:CapabilityDataType"/>
</xs:sequence>
<xs:attribute name="targetID" type="xs:string"/>
<xs:attribute name="returnData" type="tns:ReturnDataType"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="RequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
<xs:sequence/>
<xs:attribute name="requestID" type="xs:ID"/>
<xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="PSOIdentifierType">
−
<xs:complexContent>
−
<xs:extension base="tns:IdentifierType">
−
<xs:sequence>
<xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
</xs:sequence>
<xs:attribute name="targetID" type="xs:string"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="IdentifierType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
<xs:sequence/>
<xs:attribute name="ID" type="xs:string"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="CapabilityDataType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
<xs:sequence/>
<xs:attribute name="mustUnderstand" type="xs:boolean"/>
<xs:attribute name="capabilityURI" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="LookupRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
</xs:sequence>
<xs:attribute name="returnData" type="tns:ReturnDataType"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ListTargetsRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
<xs:sequence/>
<xs:attribute name="profile" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="DeleteRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
</xs:sequence>
<xs:attribute name="recursive" type="xs:boolean"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ModifyRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
<xs:element maxOccurs="unbounded" name="modification" 
type="tns:ModificationType"/>
</xs:sequence>
<xs:attribute name="returnData" type="tns:ReturnDataType"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ModificationType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
<xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData" 
nillable="true" type="tns:CapabilityDataType"/>
</xs:sequence>
<xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="CapabilityType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo" 
nillable="true" type="tns:SchemaEntityRefType"/>
</xs:sequence>
<xs:attribute name="namespaceURI" type="xs:anyURI"/>
<xs:attribute name="location" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="SchemaEntityRefType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
<xs:sequence/>
<xs:attribute name="targetID" type="xs:string"/>
<xs:attribute name="entityName" type="xs:string"/>
<xs:attribute name="isContainer" type="xs:boolean"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ModifyResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage" 
nillable="true" type="xs:string"/>
</xs:sequence>
<xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
<xs:attribute name="requestID" type="xs:ID"/>
<xs:attribute name="error" type="tns:ErrorCode"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="PSOType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
<xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData" 
nillable="true" type="tns:CapabilityDataType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="AddResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ListTargetsResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="target" 
nillable="true" type="tns:TargetType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="TargetType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
<xs:element minOccurs="0" name="capabilities" 
type="tns:CapabilitiesListType"/>
</xs:sequence>
<xs:attribute name="targetID" type="xs:string"/>
<xs:attribute name="profile" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="SchemaType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" 
name="supportedSchemaEntity" nillable="true" 
type="tns:SchemaEntityRefType"/>
</xs:sequence>
<xs:attribute name="ref" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="CapabilitiesListType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capability" 
nillable="true" type="tns:CapabilityType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="LookupResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ExtensibleUser">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleObject">
−
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="address" 
nillable="true" type="tns:ExtensibleObject"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="phone" 
nillable="true" type="tns:ExtensibleObject"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="email" 
nillable="true" type="tns:ExtensibleObject"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="group" 
nillable="true" type="tns:ExtensibleGroup"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="role" 
nillable="true" type="tns:ExtensibleRole"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ExtensibleObject">
−
<xs:sequence>
<xs:element minOccurs="0" name="objectId" type="xs:string"/>
<xs:element minOccurs="0" name="name" type="xs:string"/>
<xs:element name="operation" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributes" 
nillable="true" type="tns:ExtensibleAttribute"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ExtensibleAttribute">
−
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string"/>
<xs:element minOccurs="0" name="value" type="xs:string"/>
<xs:element name="operation" type="xs:int"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ExtensibleGroup">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleObject">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ExtensibleRole">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleObject">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ExpirePasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
</xs:sequence>
<xs:attribute name="remainingLogins" type="xs:int"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ValidatePasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
<xs:element name="password" type="xs:string"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ValidatePasswordResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
<xs:sequence/>
<xs:attribute name="valid" type="xs:boolean"/>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="SetPasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
<xs:element name="password" type="xs:string"/>
<xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ResetPasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="ResetPasswordResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element minOccurs="0" name="password" type="xs:string"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:simpleType name="ReturnDataType">
−
<xs:restriction base="xs:string">
<xs:enumeration value="identifier"/>
<xs:enumeration value="data"/>
<xs:enumeration value="everything"/>
</xs:restriction>
</xs:simpleType>
−
<xs:simpleType name="ExecutionModeType">
−
<xs:restriction base="xs:string">
<xs:enumeration value="synchronous"/>
<xs:enumeration value="asynchronous"/>
</xs:restriction>
</xs:simpleType>
−
<xs:simpleType name="ModificationModeType">
−
<xs:restriction base="xs:string">
<xs:enumeration value="add"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="delete"/>
</xs:restriction>
</xs:simpleType>
−
<xs:simpleType name="StatusCodeType">
−
<xs:restriction base="xs:string">
<xs:enumeration value="success"/>
<xs:enumeration value="failure"/>
<xs:enumeration value="pending"/>
</xs:restriction>
</xs:simpleType>
−
<xs:simpleType name="ErrorCode">
−
<xs:restriction base="xs:string">
<xs:enumeration value="malformedRequest"/>
<xs:enumeration value="unsupportedOperation"/>
<xs:enumeration value="unsupportedIdentifierType"/>
<xs:enumeration value="noSuchIdentifier"/>
<xs:enumeration value="customError"/>
<xs:enumeration value="unsupportedExecutionMode"/>
<xs:enumeration value="invalidContainment"/>
<xs:enumeration value="noSuchRequest"/>
<xs:enumeration value="unsupportedSelectionType"/>
<xs:enumeration value="resultSetToLarge"/>
<xs:enumeration value="unsupportedProfile"/>
<xs:enumeration value="invalidIdentifier"/>
<xs:enumeration value="alreadyExists"/>
<xs:enumeration value="containerNotEmpty"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="add" type="tns:add"/>
−
<xs:complexType name="add">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="testConnection" type="tns:testConnection"/>
−
<xs:complexType name="testConnection">
−
<xs:sequence>
<xs:element minOccurs="0" name="targetID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="testConnectionResponse" 
type="tns:testConnectionResponse"/>
−
<xs:complexType name="testConnectionResponse">
−
<xs:sequence>
<xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:element name="expirePassword" type="tns:expirePassword"/>
−
<xs:complexType name="expirePassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" 
type="tns:ExpirePasswordRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="lookup" type="tns:lookup"/>
−
<xs:complexType name="lookup">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="delete" type="tns:delete"/>
−
<xs:complexType name="delete">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="validatePassword" type="tns:validatePassword"/>
−
<xs:complexType name="validatePassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" 
type="tns:ValidatePasswordRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="modify" type="tns:modify"/>
−
<xs:complexType name="modify">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="setPassword" type="tns:setPassword"/>
−
<xs:complexType name="setPassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" type="tns:SetPasswordRequestType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="resetPassword" type="tns:resetPassword"/>
−
<xs:complexType name="resetPassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" 
type="tns:ResetPasswordRequestType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
−
<wsdl:message name="resetPasswordResponse">
<wsdl:part element="tns:resetPasswordResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="modifyResponse">
<wsdl:part element="tns:modifyResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="delete">
<wsdl:part element="tns:delete" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="setPassword">
<wsdl:part element="tns:setPassword" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="deleteResponse">
<wsdl:part element="tns:deleteResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="setPasswordResponse">
<wsdl:part element="tns:setPasswordResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="validatePasswordResponse">
<wsdl:part element="tns:validatePasswordResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="lookupResponse">
<wsdl:part element="tns:lookupResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="testConnection">
<wsdl:part element="tns:testConnection" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="modify">
<wsdl:part element="tns:modify" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="testConnectionResponse">
<wsdl:part element="tns:testConnectionResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="add">
<wsdl:part element="tns:add" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="expirePasswordResponse">
<wsdl:part element="tns:expirePasswordResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="lookup">
<wsdl:part element="tns:lookup" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="addResponse">
<wsdl:part element="tns:addResponse" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="expirePassword">
<wsdl:part element="tns:expirePassword" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="validatePassword">
<wsdl:part element="tns:validatePassword" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="resetPassword">
<wsdl:part element="tns:resetPassword" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:portType name="ConnectorService">
−
<wsdl:operation name="add">
<wsdl:input message="tns:add" name="add">
</wsdl:input>
<wsdl:output message="tns:addResponse" name="addResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="testConnection">
<wsdl:input message="tns:testConnection" name="testConnection">
</wsdl:input>
<wsdl:output message="tns:testConnectionResponse" 
name="testConnectionResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="expirePassword">
<wsdl:input message="tns:expirePassword" name="expirePassword">
</wsdl:input>
<wsdl:output message="tns:expirePasswordResponse" 
name="expirePasswordResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="lookup">
<wsdl:input message="tns:lookup" name="lookup">
</wsdl:input>
<wsdl:output message="tns:lookupResponse" name="lookupResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="delete">
<wsdl:input message="tns:delete" name="delete">
</wsdl:input>
<wsdl:output message="tns:deleteResponse" name="deleteResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="validatePassword">
<wsdl:input message="tns:validatePassword" name="validatePassword">
</wsdl:input>
<wsdl:output message="tns:validatePasswordResponse" 
name="validatePasswordResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="modify">
<wsdl:input message="tns:modify" name="modify">
</wsdl:input>
<wsdl:output message="tns:modifyResponse" name="modifyResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="setPassword">
<wsdl:input message="tns:setPassword" name="setPassword">
</wsdl:input>
<wsdl:output message="tns:setPasswordResponse" name="setPasswordResponse">
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="resetPassword">
<wsdl:input message="tns:resetPassword" name="resetPassword">
</wsdl:input>
<wsdl:output message="tns:resetPasswordResponse" 
name="resetPasswordResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
−
<wsdl:binding name="ExampleConnectorServiceSoapBinding" 
type="tns:ConnectorService">
<soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
−
<wsdl:operation name="add">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="add">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="addResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="testConnection">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="testConnection">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="testConnectionResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="expirePassword">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="expirePassword">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="expirePasswordResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="lookup">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="lookup">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="lookupResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="delete">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="delete">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="deleteResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="validatePassword">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="validatePassword">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="validatePasswordResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="modify">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="modify">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="modifyResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="setPassword">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="setPassword">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="setPasswordResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
−
<wsdl:operation name="resetPassword">
<soap:operation soapAction="" style="document"/>
−
<wsdl:input name="resetPassword">
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output name="resetPasswordResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
−
<wsdl:service name="ExampleConnectorService">
−
<wsdl:port binding="tns:ExampleConnectorServiceSoapBinding" 
name="ExampleConnectorServicePort">
<soap:address 
location="http://localhost:8080/idm-connector-ws/ExampleConnectorService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Re: Unmarshalling Error

Posted by Suneet Shah <su...@gmail.com>.
Dan:

Please disregard my message. The problem is with the data in my request.

Suneet


Suneet Shah wrote:
> Dan:
>
> thanks for your help.  Fixing the ASM version allowed me to move 
> forward. However, I am not getting another unmarshalling error.  I 
> have pasted my request and exception below. Any thoughts on what could 
> be wrong?
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>   <soap:Body>
>      <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
>         <ns1:reqType targetID="102" requestID="R4589" 
> executionMode="synchronous" returnData="data">
>            <psoID targetID="target" ID="test01.user04a"/>
>            <containerID targetID="target" ID="Ctest01.user04a"/>
>            <data>
>               <extensibleUser>
>                  <name>Test User03</name>
>                  <operation>0</operation>
>                  <attributes>
>                     <name>cn</name>
>                     <value>Test User03</value>
>                     <operation>1</operation>
>                  </attributes>
>               </extensibleUser>
>            </data>
>         </ns1:reqType>
>      </ns1:add>
>   </soap:Body>
> </soap:Envelope>
>
> [org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid 
> content was foun
> d starting with element 'ns1:reqType'. One of '{reqType}' is expected.]
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425) 
>
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) 
>
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339) 
>
>        at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646) 
>
>        ... 24 more
> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: 
> Invalid content was found starting with element 'ns1:reqType'. One of 
> '{reqType}' is expected.
>
>
> Daniel Kulp wrote:
>> One note:  if you cannot figure out the ASM issue, you CAN work 
>> around it.   If you use java2ws tool with the -createWrapperBeans 
>> flag, it will create .java code for the wrapper beans that ASM would 
>> have created at runtime.   You would then need to wire them into the 
>> operations with the appropriate @RequestWrapper/@ResponseWrapper 
>> annotations on the methods.    If you do that, asm isn't needed at 
>> all at runtime.   It's just kind of a pain to setup.
>>
>> Dan
>>
>>
>> On Mon November 9 2009 10:47:35 am Daniel Kulp wrote:
>>  
>>> On Mon November 9 2009 10:39:31 am Suneet Shah wrote:
>>>    
>>>>>> Any suggestions on what could be wrong, would be greatly 
>>>>>> appreciated.
>>>>>>           
>>>>> Make sure  you have ASM on the classpath on the server side, 
>>>>> preferably
>>>>> on both sides.
>>>>>
>>>>> Judging from the soap message, I'm going to assume this is a "java
>>>>> first" case and the client is not using types and interfaces that are
>>>>> generated from the wsdl2java tool run on the wsdl.   Correct?    I
>>>>> assume the server side is the same way?    If so, DEFINITELY stick 
>>>>> ASM
>>>>> there.
>>>>>         
>>>> I have ASM on the classpath. However, I seeing 2 versions of ASM 
>>>> 1..5.3,
>>>> which Hibernate seems to be pulling in and 2.2.3.  Is this causing the
>>>> problem?
>>>>       
>>> Yep.   Most likely.   If we detect 1.5.x, we more or less have to 
>>> punt as
>>>  we need 2.x or 3.x.      If you can, exclude the cglib thing they 
>>> pull in
>>>  and have it pull in the "cglib-nodeps" jar instead.   The 
>>> cglib-nodeps jar
>>>  bundles in the version of asm they need (1.5.x), but in a unique 
>>> package
>>>  to not interfere.
>>>
>>>    
>>>> Yes, this is a java first case and the client is not using the 
>>>> types or
>>>> interfaces that are generated by wsdl to java.  Should I make that
>>>> change?
>>>>       
>>> No.  If you can get the ASM stuff to work, it's not really needed.  
>>> If you
>>> aren't validating on the client side, it's not needed there at all 
>>> and I
>>> wouldn't worry about it.   The soap message is completely correct.
>>>
>>> Dan
>>>
>>>    
>>>>> Dan
>>>>>
>>>>>        
>>>>>> Regards
>>>>>> Suneet
>>>>>>
>>>>>>
>>>>>>
>>>>>> Client Code:
>>>>>>
>>>>>> Service service =
>>>>>> Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/E 
>>>>>>
>>>>>> xa mpl eConnectorService"));
>>>>>>
>>>>>> service.addPort(new
>>>>>> QName("http://www.openiam.org/service/connector","ExampleConnectorServ 
>>>>>>
>>>>>> ic ePo rt"), SOAPBinding.SOAP11HTTP_BINDING,
>>>>>> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
>>>>>>
>>>>>> ConnectorService port = service.getPort(new
>>>>>> QName("http://www.openiam.org/service/connector","ExampleConnectorServ 
>>>>>>
>>>>>> ic ePo rt"),
>>>>>>
>>>>>> ConnectorService.class);
>>>>>>
>>>>>>
>>>>>> log.info("connector service client " + port);
>>>>>>
>>>>>> AddRequestType addReqType = new AddRequestType();
>>>>>> PSOIdentifierType idType = new
>>>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>>> addReqType.setPsoID(idType);
>>>>>> addReqType.setRequestID("R4589");
>>>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>>>
>>>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>>> extUser.setName(user.getFirstName() + " " + user.getLastName());
>>>>>> extUser.getAttributes().add(new
>>>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>>>> user.getLastName()));
>>>>>>
>>>>>> addReqType.getData().getAny().add(extUser);
>>>>>>
>>>>>> port.add(addReqType);
>>>>>>
>>>>>> Exception:
>>>>>>
>>>>>> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find
>>>>>> the declaration of element 'reqType'. Location: line 4
>>>>>> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
>>>>>> doIntercept
>>>>>> WARNING: Interceptor has thrown exception, unwinding now
>>>>>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1:
>>>>>> Cannot find the declaration of element 'reqType'.
>>>>>> at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder. 
>>>>>>
>>>>>> java:661)
>>>>>> at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.j 
>>>>>>
>>>>>> av a:5 33) at
>>>>>> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128) 
>>>>>> at
>>>>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralI 
>>>>>>
>>>>>> nI nte rceptor.java:238) at
>>>>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLi 
>>>>>>
>>>>>> te ral InInterceptor.java:117) at
>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto 
>>>>>>
>>>>>> rC hai n.java:236) at
>>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia 
>>>>>>
>>>>>> ti onO bserver.java:104)
>>>>>>
>>>>>> Generated Request:
>>>>>>
>>>>>> <soap:Envelope 
>>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>> <soap:Body>
>>>>>> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
>>>>>> <reqType targetID="102" requestID="R4589"
>>>>>> xmlns="http://www.openiam.org/service/connector">
>>>>>> <psoID targetID="target" ID="test01.user04a"/>
>>>>>> <data>
>>>>>> <extensibleUser>
>>>>>> <name>Test User03</name>
>>>>>> <operation>0</operation>
>>>>>> <attributes>
>>>>>> <name>cn</name>
>>>>>> <value>Test User03</value>
>>>>>> <operation>1</operation>
>>>>>> </attributes>
>>>>>> </extensibleUser>
>>>>>> </data>
>>>>>> </reqType>
>>>>>> </ns1:add>
>>>>>> </soap:Body>
>>>>>> </soap:Envelope>
>>>>>>
>>>>>> WSDL:
>>>>>>
>>>>>>
>>>>>> <wsdl:definitions name="ExampleConnectorService"
>>>>>> targetNamespace="http://www.openiam.org/service/connector">
>>>>>> −
>>>>>> <wsdl:types>
>>>>>> −
>>>>>> <xs:schema attributeFormDefault="unqualified"
>>>>>> elementFormDefault="qualified"
>>>>>> targetNamespace="http://www.openiam.org/service/connector">
>>>>>> <xs:element name="addRequest" type="tns:AddRequestType"/>
>>>>>> <xs:element name="addResponse" type="tns:AddResponseType"/>
>>>>>> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
>>>>>> <xs:element name="deleteResponse" type="tns:ResponseType"/>
>>>>>> <xs:element name="expirePasswordRequest"
>>>>>> type="tns:ExpirePasswordRequestType"/>
>>>>>> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
>>>>>> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
>>>>>> <xs:element name="listTargetsRequest"
>>>>>> type="tns:ListTargetsRequestType"/> <xs:element
>>>>>> name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
>>>>>> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
>>>>>> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
>>>>>> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
>>>>>> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
>>>>>> <xs:element name="resetPasswordRequest"
>>>>>> type="tns:ResetPasswordRequestType"/>
>>>>>> <xs:element name="resetPasswordResponse"
>>>>>> type="tns:ResetPasswordResponseType"/>
>>>>>> <xs:element name="select" type="tns:SelectionType"/>
>>>>>> <xs:element name="setPasswordRequest"
>>>>>> type="tns:SetPasswordRequestType"/> <xs:element
>>>>>> name="setPasswordResponse" type="tns:ResponseType"/> <xs:element
>>>>>> name="validatePasswordRequest"
>>>>>> type="tns:ValidatePasswordRequestType"/>
>>>>>> <xs:element name="validatePasswordResponse"
>>>>>> type="tns:ValidatePasswordResponseType"/>
>>>>>> −
>>>>>> <xs:complexType name="ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
>>>>>> processContents="lax"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="SelectionType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:QueryClauseType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0"
>>>>>> name="namespacePrefixMap" nillable="true"
>>>>>> type="tns:NamespacePrefixMappingType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="path" type="xs:string" use="required"/>
>>>>>> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="QueryClauseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> <xs:sequence/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="NamespacePrefixMappingType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="prefix" type="xs:string" use="required"/>
>>>>>> <xs:attribute name="namespace" type="xs:string" use="required"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="AddRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="psoID" 
>>>>>> type="tns:PSOIdentifierType"/>
>>>>>> <xs:element minOccurs="0" name="containerID"
>>>>>> type="tns:PSOIdentifierType"/> <xs:element name="data"
>>>>>> type="tns:ExtensibleType"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" 
>>>>>> name="capabilityData"
>>>>>> nillable="true" type="tns:CapabilityDataType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="RequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="requestID" type="xs:ID"/>
>>>>>> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="PSOIdentifierType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:IdentifierType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="containerID"
>>>>>> type="tns:PSOIdentifierType"/> </xs:sequence>
>>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="IdentifierType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="ID" type="xs:string"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="CapabilityDataType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
>>>>>> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="LookupRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ListTargetsRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="profile" type="xs:anyURI"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="DeleteRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="recursive" type="xs:boolean"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ModifyRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> <xs:element maxOccurs="unbounded" name="modification"
>>>>>> type="tns:ModificationType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ModificationType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="component" 
>>>>>> type="tns:SelectionType"/>
>>>>>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" 
>>>>>> name="capabilityData"
>>>>>> nillable="true" type="tns:CapabilityDataType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="modificationMode"
>>>>>> type="tns:ModificationModeType"/> <xs:anyAttribute 
>>>>>> namespace="##other"
>>>>>> processContents="skip"/> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="CapabilityType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
>>>>>> nillable="true" type="tns:SchemaEntityRefType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
>>>>>> <xs:attribute name="location" type="xs:anyURI"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="SchemaEntityRefType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>>> <xs:attribute name="entityName" type="xs:string"/>
>>>>>> <xs:attribute name="isContainer" type="xs:boolean"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ModifyResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ResponseType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
>>>>>> nillable="true" type="xs:string"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="status" type="tns:StatusCodeType" 
>>>>>> use="required"/>
>>>>>> <xs:attribute name="requestID" type="xs:ID"/>
>>>>>> <xs:attribute name="error" type="tns:ErrorCode"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="PSOType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" 
>>>>>> name="capabilityData"
>>>>>> nillable="true" type="tns:CapabilityDataType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="AddResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ResponseType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ListTargetsResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ResponseType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
>>>>>> nillable="true" type="tns:TargetType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="TargetType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" name="schema"
>>>>>> type="tns:SchemaType"/> <xs:element minOccurs="0" 
>>>>>> name="capabilities"
>>>>>> type="tns:CapabilitiesListType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>>> <xs:attribute name="profile" type="xs:anyURI"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="SchemaType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0"
>>>>>> name="supportedSchemaEntity" nillable="true"
>>>>>> type="tns:SchemaEntityRefType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="ref" type="xs:anyURI"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="CapabilitiesListType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
>>>>>> nillable="true" type="tns:CapabilityType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="LookupResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ResponseType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ExtensibleUser">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleObject">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
>>>>>> nillable="true" type="tns:ExtensibleObject"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
>>>>>> nillable="true" type="tns:ExtensibleObject"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
>>>>>> nillable="true" type="tns:ExtensibleObject"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
>>>>>> nillable="true" type="tns:ExtensibleGroup"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
>>>>>> nillable="true" type="tns:ExtensibleRole"/>
>>>>>> </xs:sequence>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ExtensibleObject">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
>>>>>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>>>>>> <xs:element name="operation" type="xs:int"/>
>>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
>>>>>> nillable="true" type="tns:ExtensibleAttribute"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ExtensibleAttribute">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>>>>>> <xs:element minOccurs="0" name="value" type="xs:string"/>
>>>>>> <xs:element name="operation" type="xs:int"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ExtensibleGroup">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleObject">
>>>>>> <xs:sequence/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ExtensibleRole">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ExtensibleObject">
>>>>>> <xs:sequence/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ExpirePasswordRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:attribute name="remainingLogins" type="xs:int"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ValidatePasswordRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> <xs:element name="password" type="xs:string"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ValidatePasswordResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ResponseType">
>>>>>> <xs:sequence/>
>>>>>> <xs:attribute name="valid" type="xs:boolean"/>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="SetPasswordRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> <xs:element name="password" type="xs:string"/>
>>>>>> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ResetPasswordRequestType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:RequestType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:complexType name="ResetPasswordResponseType">
>>>>>> −
>>>>>> <xs:complexContent>
>>>>>> −
>>>>>> <xs:extension base="tns:ResponseType">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="password" type="xs:string"/>
>>>>>> </xs:sequence>
>>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>>> </xs:extension>
>>>>>> </xs:complexContent>
>>>>>> </xs:complexType>
>>>>>> −
>>>>>> <xs:simpleType name="ReturnDataType">
>>>>>> −
>>>>>> <xs:restriction base="xs:string">
>>>>>> <xs:enumeration value="identifier"/>
>>>>>> <xs:enumeration value="data"/>
>>>>>> <xs:enumeration value="everything"/>
>>>>>> </xs:restriction>
>>>>>> </xs:simpleType>
>>>>>> −
>>>>>> <xs:simpleType name="ExecutionModeType">
>>>>>> −
>>>>>> <xs:restriction base="xs:string">
>>>>>> <xs:enumeration value="synchronous"/>
>>>>>> <xs:enumeration value="asynchronous"/>
>>>>>> </xs:restriction>
>>>>>> </xs:simpleType>
>>>>>> −
>>>>>> <xs:simpleType name="ModificationModeType">
>>>>>> −
>>>>>> <xs:restriction base="xs:string">
>>>>>> <xs:enumeration value="add"/>
>>>>>> <xs:enumeration value="replace"/>
>>>>>> <xs:enumeration value="delete"/>
>>>>>> </xs:restriction>
>>>>>> </xs:simpleType>
>>>>>> −
>>>>>> <xs:simpleType name="StatusCodeType">
>>>>>> −
>>>>>> <xs:restriction base="xs:string">
>>>>>> <xs:enumeration value="success"/>
>>>>>> <xs:enumeration value="failure"/>
>>>>>> <xs:enumeration value="pending"/>
>>>>>> </xs:restriction>
>>>>>> </xs:simpleType>
>>>>>> −
>>>>>> <xs:simpleType name="ErrorCode">
>>>>>> −
>>>>>> <xs:restriction base="xs:string">
>>>>>> <xs:enumeration value="malformedRequest"/>
>>>>>> <xs:enumeration value="unsupportedOperation"/>
>>>>>> <xs:enumeration value="unsupportedIdentifierType"/>
>>>>>> <xs:enumeration value="noSuchIdentifier"/>
>>>>>> <xs:enumeration value="customError"/>
>>>>>> <xs:enumeration value="unsupportedExecutionMode"/>
>>>>>> <xs:enumeration value="invalidContainment"/>
>>>>>> <xs:enumeration value="noSuchRequest"/>
>>>>>> <xs:enumeration value="unsupportedSelectionType"/>
>>>>>> <xs:enumeration value="resultSetToLarge"/>
>>>>>> <xs:enumeration value="unsupportedProfile"/>
>>>>>> <xs:enumeration value="invalidIdentifier"/>
>>>>>> <xs:enumeration value="alreadyExists"/>
>>>>>> <xs:enumeration value="containerNotEmpty"/>
>>>>>> </xs:restriction>
>>>>>> </xs:simpleType>
>>>>>> <xs:element name="add" type="tns:add"/>
>>>>>> −
>>>>>> <xs:complexType name="add">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="testConnection" type="tns:testConnection"/>
>>>>>> −
>>>>>> <xs:complexType name="testConnection">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="testConnectionResponse"
>>>>>> type="tns:testConnectionResponse"/>
>>>>>> −
>>>>>> <xs:complexType name="testConnectionResponse">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element name="return" type="xs:boolean"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="expirePassword" type="tns:expirePassword"/>
>>>>>> −
>>>>>> <xs:complexType name="expirePassword">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="request"
>>>>>> type="tns:ExpirePasswordRequestType"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="lookup" type="tns:lookup"/>
>>>>>> −
>>>>>> <xs:complexType name="lookup">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="reqType"
>>>>>> type="tns:LookupRequestType"/> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="delete" type="tns:delete"/>
>>>>>> −
>>>>>> <xs:complexType name="delete">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="reqType"
>>>>>> type="tns:DeleteRequestType"/> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="validatePassword" type="tns:validatePassword"/>
>>>>>> −
>>>>>> <xs:complexType name="validatePassword">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="request"
>>>>>> type="tns:ValidatePasswordRequestType"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="modify" type="tns:modify"/>
>>>>>> −
>>>>>> <xs:complexType name="modify">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="reqType"
>>>>>> type="tns:ModifyRequestType"/> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="setPassword" type="tns:setPassword"/>
>>>>>> −
>>>>>> <xs:complexType name="setPassword">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="request"
>>>>>>  type="tns:SetPasswordRequestType"/> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> <xs:element name="resetPassword" type="tns:resetPassword"/>
>>>>>> −
>>>>>> <xs:complexType name="resetPassword">
>>>>>> −
>>>>>> <xs:sequence>
>>>>>> <xs:element minOccurs="0" name="request"
>>>>>> type="tns:ResetPasswordRequestType"/>
>>>>>> </xs:sequence>
>>>>>> </xs:complexType>
>>>>>> </xs:schema>
>>>>>> </wsdl:types>
>>>>>> −
>>>>>> <wsdl:message name="resetPasswordResponse">
>>>>>> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="modifyResponse">
>>>>>> <wsdl:part element="tns:modifyResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="delete">
>>>>>> <wsdl:part element="tns:delete" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="setPassword">
>>>>>> <wsdl:part element="tns:setPassword" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="deleteResponse">
>>>>>> <wsdl:part element="tns:deleteResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="setPasswordResponse">
>>>>>> <wsdl:part element="tns:setPasswordResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="validatePasswordResponse">
>>>>>> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="lookupResponse">
>>>>>> <wsdl:part element="tns:lookupResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="testConnection">
>>>>>> <wsdl:part element="tns:testConnection" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="modify">
>>>>>> <wsdl:part element="tns:modify" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="testConnectionResponse">
>>>>>> <wsdl:part element="tns:testConnectionResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="add">
>>>>>> <wsdl:part element="tns:add" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="expirePasswordResponse">
>>>>>> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="lookup">
>>>>>> <wsdl:part element="tns:lookup" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="addResponse">
>>>>>> <wsdl:part element="tns:addResponse" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="expirePassword">
>>>>>> <wsdl:part element="tns:expirePassword" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="validatePassword">
>>>>>> <wsdl:part element="tns:validatePassword" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:message name="resetPassword">
>>>>>> <wsdl:part element="tns:resetPassword" name="parameters">
>>>>>> </wsdl:part>
>>>>>> </wsdl:message>
>>>>>> −
>>>>>> <wsdl:portType name="ConnectorService">
>>>>>> −
>>>>>> <wsdl:operation name="add">
>>>>>> <wsdl:input message="tns:add" name="add">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:addResponse" name="addResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="testConnection">
>>>>>> <wsdl:input message="tns:testConnection" name="testConnection">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:testConnectionResponse"
>>>>>> name="testConnectionResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="expirePassword">
>>>>>> <wsdl:input message="tns:expirePassword" name="expirePassword">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:expirePasswordResponse"
>>>>>> name="expirePasswordResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="lookup">
>>>>>> <wsdl:input message="tns:lookup" name="lookup">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="delete">
>>>>>> <wsdl:input message="tns:delete" name="delete">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="validatePassword">
>>>>>> <wsdl:input message="tns:validatePassword" name="validatePassword">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:validatePasswordResponse"
>>>>>> name="validatePasswordResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="modify">
>>>>>> <wsdl:input message="tns:modify" name="modify">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="setPassword">
>>>>>> <wsdl:input message="tns:setPassword" name="setPassword">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:setPasswordResponse"
>>>>>> name="setPasswordResponse"> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="resetPassword">
>>>>>> <wsdl:input message="tns:resetPassword" name="resetPassword">
>>>>>> </wsdl:input>
>>>>>> <wsdl:output message="tns:resetPasswordResponse"
>>>>>> name="resetPasswordResponse">
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> </wsdl:portType>
>>>>>> −
>>>>>> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
>>>>>> type="tns:ConnectorService">
>>>>>> <soap:binding style="document"
>>>>>> transport="http://schemas.xmlsoap.org/soap/http"/>
>>>>>> −
>>>>>> <wsdl:operation name="add">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="add">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="addResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="testConnection">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="testConnection">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="testConnectionResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="expirePassword">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="expirePassword">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="expirePasswordResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="lookup">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="lookup">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="lookupResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="delete">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="delete">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="deleteResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="validatePassword">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="validatePassword">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="validatePasswordResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="modify">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="modify">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="modifyResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="setPassword">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="setPassword">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="setPasswordResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> −
>>>>>> <wsdl:operation name="resetPassword">
>>>>>> <soap:operation soapAction="" style="document"/>
>>>>>> −
>>>>>> <wsdl:input name="resetPassword">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:input>
>>>>>> −
>>>>>> <wsdl:output name="resetPasswordResponse">
>>>>>> <soap:body use="literal"/>
>>>>>> </wsdl:output>
>>>>>> </wsdl:operation>
>>>>>> </wsdl:binding>
>>>>>> −
>>>>>> <wsdl:service name="ExampleConnectorService">
>>>>>> −
>>>>>> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
>>>>>> name="ExampleConnectorServicePort">
>>>>>> <soap:address
>>>>>> location="http://localhost:8080/idm-connector-ws/ExampleConnectorServi 
>>>>>>
>>>>>> ce "/> </wsdl:port>
>>>>>> </wsdl:service>
>>>>>> </wsdl:definitions>
>>>>>>           
>>
>>   
>

Re: Unmarshalling Error

Posted by Suneet Shah <su...@gmail.com>.
Dan:

thanks for your help.  Fixing the ASM version allowed me to move 
forward. However, I am not getting another unmarshalling error.  I have 
pasted my request and exception below. Any thoughts on what could be wrong?

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
         <ns1:reqType targetID="102" requestID="R4589" 
executionMode="synchronous" returnData="data">
            <psoID targetID="target" ID="test01.user04a"/>
            <containerID targetID="target" ID="Ctest01.user04a"/>
            <data>
               <extensibleUser>
                  <name>Test User03</name>
                  <operation>0</operation>
                  <attributes>
                     <name>cn</name>
                     <value>Test User03</value>
                     <operation>1</operation>
                  </attributes>
               </extensibleUser>
            </data>
         </ns1:reqType>
      </ns1:add>
   </soap:Body>
</soap:Envelope>

[org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content 
was foun
d starting with element 'ns1:reqType'. One of '{reqType}' is expected.]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
        ... 24 more
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: 
Invalid content was found starting with element 'ns1:reqType'. One of 
'{reqType}' is expected.


Daniel Kulp wrote:
> One note:  if you cannot figure out the ASM issue, you CAN work around it.   
> If you use java2ws tool with the -createWrapperBeans flag, it will create 
> .java code for the wrapper beans that ASM would have created at runtime.   You 
> would then need to wire them into the operations with the appropriate 
> @RequestWrapper/@ResponseWrapper annotations on the methods.    If you do 
> that, asm isn't needed at all at runtime.   It's just kind of a pain to setup.
>
> Dan
>
>
> On Mon November 9 2009 10:47:35 am Daniel Kulp wrote:
>   
>> On Mon November 9 2009 10:39:31 am Suneet Shah wrote:
>>     
>>>>> Any suggestions on what could be wrong, would be greatly appreciated.
>>>>>           
>>>> Make sure  you have ASM on the classpath on the server side, preferably
>>>> on both sides.
>>>>
>>>> Judging from the soap message, I'm going to assume this is a "java
>>>> first" case and the client is not using types and interfaces that are
>>>> generated from the wsdl2java tool run on the wsdl.   Correct?    I
>>>> assume the server side is the same way?    If so, DEFINITELY stick ASM
>>>> there.
>>>>         
>>> I have ASM on the classpath. However, I seeing 2 versions of ASM 1..5.3,
>>> which Hibernate seems to be pulling in and 2.2.3.  Is this causing the
>>> problem?
>>>       
>> Yep.   Most likely.   If we detect 1.5.x, we more or less have to punt as
>>  we need 2.x or 3.x.      If you can, exclude the cglib thing they pull in
>>  and have it pull in the "cglib-nodeps" jar instead.   The cglib-nodeps jar
>>  bundles in the version of asm they need (1.5.x), but in a unique package
>>  to not interfere.
>>
>>     
>>> Yes, this is a java first case and the client is not using the types or
>>> interfaces that are generated by wsdl to java.  Should I make that
>>> change?
>>>       
>> No.  If you can get the ASM stuff to work, it's not really needed.  If you
>> aren't validating on the client side, it's not needed there at all and I
>> wouldn't worry about it.   The soap message is completely correct.
>>
>> Dan
>>
>>     
>>>> Dan
>>>>
>>>>         
>>>>> Regards
>>>>> Suneet
>>>>>
>>>>>
>>>>>
>>>>> Client Code:
>>>>>
>>>>> Service service =
>>>>> Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/E
>>>>> xa mpl eConnectorService"));
>>>>>
>>>>> service.addPort(new
>>>>> QName("http://www.openiam.org/service/connector","ExampleConnectorServ
>>>>> ic ePo rt"), SOAPBinding.SOAP11HTTP_BINDING,
>>>>> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
>>>>>
>>>>> ConnectorService port = service.getPort(new
>>>>> QName("http://www.openiam.org/service/connector","ExampleConnectorServ
>>>>> ic ePo rt"),
>>>>>
>>>>> ConnectorService.class);
>>>>>
>>>>>
>>>>> log.info("connector service client " + port);
>>>>>
>>>>> AddRequestType addReqType = new AddRequestType();
>>>>> PSOIdentifierType idType = new
>>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>> addReqType.setPsoID(idType);
>>>>> addReqType.setRequestID("R4589");
>>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>>
>>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>> extUser.setName(user.getFirstName() + " " + user.getLastName());
>>>>> extUser.getAttributes().add(new
>>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>>> user.getLastName()));
>>>>>
>>>>> addReqType.getData().getAny().add(extUser);
>>>>>
>>>>> port.add(addReqType);
>>>>>
>>>>> Exception:
>>>>>
>>>>> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find
>>>>> the declaration of element 'reqType'. Location: line 4
>>>>> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
>>>>> doIntercept
>>>>> WARNING: Interceptor has thrown exception, unwinding now
>>>>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1:
>>>>> Cannot find the declaration of element 'reqType'.
>>>>> at
>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
>>>>> java:661)
>>>>> at
>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.j
>>>>> av a:5 33) at
>>>>> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128) at
>>>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralI
>>>>> nI nte rceptor.java:238) at
>>>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLi
>>>>> te ral InInterceptor.java:117) at
>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>>>>> rC hai n.java:236) at
>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia
>>>>> ti onO bserver.java:104)
>>>>>
>>>>> Generated Request:
>>>>>
>>>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>>> <soap:Body>
>>>>> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
>>>>> <reqType targetID="102" requestID="R4589"
>>>>> xmlns="http://www.openiam.org/service/connector">
>>>>> <psoID targetID="target" ID="test01.user04a"/>
>>>>> <data>
>>>>> <extensibleUser>
>>>>> <name>Test User03</name>
>>>>> <operation>0</operation>
>>>>> <attributes>
>>>>> <name>cn</name>
>>>>> <value>Test User03</value>
>>>>> <operation>1</operation>
>>>>> </attributes>
>>>>> </extensibleUser>
>>>>> </data>
>>>>> </reqType>
>>>>> </ns1:add>
>>>>> </soap:Body>
>>>>> </soap:Envelope>
>>>>>
>>>>> WSDL:
>>>>>
>>>>>
>>>>> <wsdl:definitions name="ExampleConnectorService"
>>>>> targetNamespace="http://www.openiam.org/service/connector">
>>>>> −
>>>>> <wsdl:types>
>>>>> −
>>>>> <xs:schema attributeFormDefault="unqualified"
>>>>> elementFormDefault="qualified"
>>>>> targetNamespace="http://www.openiam.org/service/connector">
>>>>> <xs:element name="addRequest" type="tns:AddRequestType"/>
>>>>> <xs:element name="addResponse" type="tns:AddResponseType"/>
>>>>> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
>>>>> <xs:element name="deleteResponse" type="tns:ResponseType"/>
>>>>> <xs:element name="expirePasswordRequest"
>>>>> type="tns:ExpirePasswordRequestType"/>
>>>>> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
>>>>> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
>>>>> <xs:element name="listTargetsRequest"
>>>>> type="tns:ListTargetsRequestType"/> <xs:element
>>>>> name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
>>>>> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
>>>>> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
>>>>> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
>>>>> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
>>>>> <xs:element name="resetPasswordRequest"
>>>>> type="tns:ResetPasswordRequestType"/>
>>>>> <xs:element name="resetPasswordResponse"
>>>>> type="tns:ResetPasswordResponseType"/>
>>>>> <xs:element name="select" type="tns:SelectionType"/>
>>>>> <xs:element name="setPasswordRequest"
>>>>> type="tns:SetPasswordRequestType"/> <xs:element
>>>>> name="setPasswordResponse" type="tns:ResponseType"/> <xs:element
>>>>> name="validatePasswordRequest"
>>>>> type="tns:ValidatePasswordRequestType"/>
>>>>> <xs:element name="validatePasswordResponse"
>>>>> type="tns:ValidatePasswordResponseType"/>
>>>>> −
>>>>> <xs:complexType name="ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
>>>>> processContents="lax"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="SelectionType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:QueryClauseType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0"
>>>>> name="namespacePrefixMap" nillable="true"
>>>>> type="tns:NamespacePrefixMappingType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="path" type="xs:string" use="required"/>
>>>>> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="QueryClauseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> <xs:sequence/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="NamespacePrefixMappingType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="prefix" type="xs:string" use="required"/>
>>>>> <xs:attribute name="namespace" type="xs:string" use="required"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="AddRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
>>>>> <xs:element minOccurs="0" name="containerID"
>>>>> type="tns:PSOIdentifierType"/> <xs:element name="data"
>>>>> type="tns:ExtensibleType"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>>>>> nillable="true" type="tns:CapabilityDataType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="RequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="requestID" type="xs:ID"/>
>>>>> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="PSOIdentifierType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:IdentifierType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="containerID"
>>>>> type="tns:PSOIdentifierType"/> </xs:sequence>
>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="IdentifierType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="ID" type="xs:string"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="CapabilityDataType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
>>>>> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="LookupRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ListTargetsRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="profile" type="xs:anyURI"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="DeleteRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="recursive" type="xs:boolean"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ModifyRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> <xs:element maxOccurs="unbounded" name="modification"
>>>>> type="tns:ModificationType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ModificationType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
>>>>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>>>>> nillable="true" type="tns:CapabilityDataType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="modificationMode"
>>>>> type="tns:ModificationModeType"/> <xs:anyAttribute namespace="##other"
>>>>> processContents="skip"/> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="CapabilityType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
>>>>> nillable="true" type="tns:SchemaEntityRefType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
>>>>> <xs:attribute name="location" type="xs:anyURI"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="SchemaEntityRefType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>> <xs:attribute name="entityName" type="xs:string"/>
>>>>> <xs:attribute name="isContainer" type="xs:boolean"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ModifyResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ResponseType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
>>>>> nillable="true" type="xs:string"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
>>>>> <xs:attribute name="requestID" type="xs:ID"/>
>>>>> <xs:attribute name="error" type="tns:ErrorCode"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="PSOType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>>>>> nillable="true" type="tns:CapabilityDataType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="AddResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ResponseType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ListTargetsResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ResponseType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
>>>>> nillable="true" type="tns:TargetType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="TargetType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" name="schema"
>>>>> type="tns:SchemaType"/> <xs:element minOccurs="0" name="capabilities"
>>>>> type="tns:CapabilitiesListType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="targetID" type="xs:string"/>
>>>>> <xs:attribute name="profile" type="xs:anyURI"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="SchemaType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0"
>>>>> name="supportedSchemaEntity" nillable="true"
>>>>> type="tns:SchemaEntityRefType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="ref" type="xs:anyURI"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="CapabilitiesListType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
>>>>> nillable="true" type="tns:CapabilityType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="LookupResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ResponseType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ExtensibleUser">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleObject">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
>>>>> nillable="true" type="tns:ExtensibleObject"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
>>>>> nillable="true" type="tns:ExtensibleObject"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
>>>>> nillable="true" type="tns:ExtensibleObject"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
>>>>> nillable="true" type="tns:ExtensibleGroup"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
>>>>> nillable="true" type="tns:ExtensibleRole"/>
>>>>> </xs:sequence>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ExtensibleObject">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
>>>>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>>>>> <xs:element name="operation" type="xs:int"/>
>>>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
>>>>> nillable="true" type="tns:ExtensibleAttribute"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ExtensibleAttribute">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>>>>> <xs:element minOccurs="0" name="value" type="xs:string"/>
>>>>> <xs:element name="operation" type="xs:int"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ExtensibleGroup">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleObject">
>>>>> <xs:sequence/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ExtensibleRole">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ExtensibleObject">
>>>>> <xs:sequence/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ExpirePasswordRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> </xs:sequence>
>>>>> <xs:attribute name="remainingLogins" type="xs:int"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ValidatePasswordRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> <xs:element name="password" type="xs:string"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ValidatePasswordResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ResponseType">
>>>>> <xs:sequence/>
>>>>> <xs:attribute name="valid" type="xs:boolean"/>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="SetPasswordRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> <xs:element name="password" type="xs:string"/>
>>>>> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ResetPasswordRequestType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:RequestType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:complexType name="ResetPasswordResponseType">
>>>>> −
>>>>> <xs:complexContent>
>>>>> −
>>>>> <xs:extension base="tns:ResponseType">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="password" type="xs:string"/>
>>>>> </xs:sequence>
>>>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>>>> </xs:extension>
>>>>> </xs:complexContent>
>>>>> </xs:complexType>
>>>>> −
>>>>> <xs:simpleType name="ReturnDataType">
>>>>> −
>>>>> <xs:restriction base="xs:string">
>>>>> <xs:enumeration value="identifier"/>
>>>>> <xs:enumeration value="data"/>
>>>>> <xs:enumeration value="everything"/>
>>>>> </xs:restriction>
>>>>> </xs:simpleType>
>>>>> −
>>>>> <xs:simpleType name="ExecutionModeType">
>>>>> −
>>>>> <xs:restriction base="xs:string">
>>>>> <xs:enumeration value="synchronous"/>
>>>>> <xs:enumeration value="asynchronous"/>
>>>>> </xs:restriction>
>>>>> </xs:simpleType>
>>>>> −
>>>>> <xs:simpleType name="ModificationModeType">
>>>>> −
>>>>> <xs:restriction base="xs:string">
>>>>> <xs:enumeration value="add"/>
>>>>> <xs:enumeration value="replace"/>
>>>>> <xs:enumeration value="delete"/>
>>>>> </xs:restriction>
>>>>> </xs:simpleType>
>>>>> −
>>>>> <xs:simpleType name="StatusCodeType">
>>>>> −
>>>>> <xs:restriction base="xs:string">
>>>>> <xs:enumeration value="success"/>
>>>>> <xs:enumeration value="failure"/>
>>>>> <xs:enumeration value="pending"/>
>>>>> </xs:restriction>
>>>>> </xs:simpleType>
>>>>> −
>>>>> <xs:simpleType name="ErrorCode">
>>>>> −
>>>>> <xs:restriction base="xs:string">
>>>>> <xs:enumeration value="malformedRequest"/>
>>>>> <xs:enumeration value="unsupportedOperation"/>
>>>>> <xs:enumeration value="unsupportedIdentifierType"/>
>>>>> <xs:enumeration value="noSuchIdentifier"/>
>>>>> <xs:enumeration value="customError"/>
>>>>> <xs:enumeration value="unsupportedExecutionMode"/>
>>>>> <xs:enumeration value="invalidContainment"/>
>>>>> <xs:enumeration value="noSuchRequest"/>
>>>>> <xs:enumeration value="unsupportedSelectionType"/>
>>>>> <xs:enumeration value="resultSetToLarge"/>
>>>>> <xs:enumeration value="unsupportedProfile"/>
>>>>> <xs:enumeration value="invalidIdentifier"/>
>>>>> <xs:enumeration value="alreadyExists"/>
>>>>> <xs:enumeration value="containerNotEmpty"/>
>>>>> </xs:restriction>
>>>>> </xs:simpleType>
>>>>> <xs:element name="add" type="tns:add"/>
>>>>> −
>>>>> <xs:complexType name="add">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="testConnection" type="tns:testConnection"/>
>>>>> −
>>>>> <xs:complexType name="testConnection">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="testConnectionResponse"
>>>>> type="tns:testConnectionResponse"/>
>>>>> −
>>>>> <xs:complexType name="testConnectionResponse">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element name="return" type="xs:boolean"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="expirePassword" type="tns:expirePassword"/>
>>>>> −
>>>>> <xs:complexType name="expirePassword">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="request"
>>>>> type="tns:ExpirePasswordRequestType"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="lookup" type="tns:lookup"/>
>>>>> −
>>>>> <xs:complexType name="lookup">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="reqType"
>>>>> type="tns:LookupRequestType"/> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="delete" type="tns:delete"/>
>>>>> −
>>>>> <xs:complexType name="delete">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="reqType"
>>>>> type="tns:DeleteRequestType"/> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="validatePassword" type="tns:validatePassword"/>
>>>>> −
>>>>> <xs:complexType name="validatePassword">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="request"
>>>>> type="tns:ValidatePasswordRequestType"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="modify" type="tns:modify"/>
>>>>> −
>>>>> <xs:complexType name="modify">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="reqType"
>>>>> type="tns:ModifyRequestType"/> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="setPassword" type="tns:setPassword"/>
>>>>> −
>>>>> <xs:complexType name="setPassword">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="request"
>>>>>  type="tns:SetPasswordRequestType"/> </xs:sequence>
>>>>> </xs:complexType>
>>>>> <xs:element name="resetPassword" type="tns:resetPassword"/>
>>>>> −
>>>>> <xs:complexType name="resetPassword">
>>>>> −
>>>>> <xs:sequence>
>>>>> <xs:element minOccurs="0" name="request"
>>>>> type="tns:ResetPasswordRequestType"/>
>>>>> </xs:sequence>
>>>>> </xs:complexType>
>>>>> </xs:schema>
>>>>> </wsdl:types>
>>>>> −
>>>>> <wsdl:message name="resetPasswordResponse">
>>>>> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="modifyResponse">
>>>>> <wsdl:part element="tns:modifyResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="delete">
>>>>> <wsdl:part element="tns:delete" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="setPassword">
>>>>> <wsdl:part element="tns:setPassword" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="deleteResponse">
>>>>> <wsdl:part element="tns:deleteResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="setPasswordResponse">
>>>>> <wsdl:part element="tns:setPasswordResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="validatePasswordResponse">
>>>>> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="lookupResponse">
>>>>> <wsdl:part element="tns:lookupResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="testConnection">
>>>>> <wsdl:part element="tns:testConnection" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="modify">
>>>>> <wsdl:part element="tns:modify" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="testConnectionResponse">
>>>>> <wsdl:part element="tns:testConnectionResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="add">
>>>>> <wsdl:part element="tns:add" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="expirePasswordResponse">
>>>>> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="lookup">
>>>>> <wsdl:part element="tns:lookup" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="addResponse">
>>>>> <wsdl:part element="tns:addResponse" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="expirePassword">
>>>>> <wsdl:part element="tns:expirePassword" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="validatePassword">
>>>>> <wsdl:part element="tns:validatePassword" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:message name="resetPassword">
>>>>> <wsdl:part element="tns:resetPassword" name="parameters">
>>>>> </wsdl:part>
>>>>> </wsdl:message>
>>>>> −
>>>>> <wsdl:portType name="ConnectorService">
>>>>> −
>>>>> <wsdl:operation name="add">
>>>>> <wsdl:input message="tns:add" name="add">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:addResponse" name="addResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="testConnection">
>>>>> <wsdl:input message="tns:testConnection" name="testConnection">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:testConnectionResponse"
>>>>> name="testConnectionResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="expirePassword">
>>>>> <wsdl:input message="tns:expirePassword" name="expirePassword">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:expirePasswordResponse"
>>>>> name="expirePasswordResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="lookup">
>>>>> <wsdl:input message="tns:lookup" name="lookup">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="delete">
>>>>> <wsdl:input message="tns:delete" name="delete">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="validatePassword">
>>>>> <wsdl:input message="tns:validatePassword" name="validatePassword">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:validatePasswordResponse"
>>>>> name="validatePasswordResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="modify">
>>>>> <wsdl:input message="tns:modify" name="modify">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="setPassword">
>>>>> <wsdl:input message="tns:setPassword" name="setPassword">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:setPasswordResponse"
>>>>> name="setPasswordResponse"> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="resetPassword">
>>>>> <wsdl:input message="tns:resetPassword" name="resetPassword">
>>>>> </wsdl:input>
>>>>> <wsdl:output message="tns:resetPasswordResponse"
>>>>> name="resetPasswordResponse">
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> </wsdl:portType>
>>>>> −
>>>>> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
>>>>> type="tns:ConnectorService">
>>>>> <soap:binding style="document"
>>>>> transport="http://schemas.xmlsoap.org/soap/http"/>
>>>>> −
>>>>> <wsdl:operation name="add">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="add">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="addResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="testConnection">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="testConnection">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="testConnectionResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="expirePassword">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="expirePassword">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="expirePasswordResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="lookup">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="lookup">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="lookupResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="delete">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="delete">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="deleteResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="validatePassword">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="validatePassword">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="validatePasswordResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="modify">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="modify">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="modifyResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="setPassword">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="setPassword">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="setPasswordResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> −
>>>>> <wsdl:operation name="resetPassword">
>>>>> <soap:operation soapAction="" style="document"/>
>>>>> −
>>>>> <wsdl:input name="resetPassword">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:input>
>>>>> −
>>>>> <wsdl:output name="resetPasswordResponse">
>>>>> <soap:body use="literal"/>
>>>>> </wsdl:output>
>>>>> </wsdl:operation>
>>>>> </wsdl:binding>
>>>>> −
>>>>> <wsdl:service name="ExampleConnectorService">
>>>>> −
>>>>> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
>>>>> name="ExampleConnectorServicePort">
>>>>> <soap:address
>>>>> location="http://localhost:8080/idm-connector-ws/ExampleConnectorServi
>>>>> ce "/> </wsdl:port>
>>>>> </wsdl:service>
>>>>> </wsdl:definitions>
>>>>>           
>
>   

Re: Unmarshalling Error

Posted by Daniel Kulp <dk...@apache.org>.
One note:  if you cannot figure out the ASM issue, you CAN work around it.   
If you use java2ws tool with the -createWrapperBeans flag, it will create 
.java code for the wrapper beans that ASM would have created at runtime.   You 
would then need to wire them into the operations with the appropriate 
@RequestWrapper/@ResponseWrapper annotations on the methods.    If you do 
that, asm isn't needed at all at runtime.   It's just kind of a pain to setup.

Dan


On Mon November 9 2009 10:47:35 am Daniel Kulp wrote:
> On Mon November 9 2009 10:39:31 am Suneet Shah wrote:
> > >> Any suggestions on what could be wrong, would be greatly appreciated.
> > >
> > > Make sure  you have ASM on the classpath on the server side, preferably
> > > on both sides.
> > >
> > > Judging from the soap message, I'm going to assume this is a "java
> > > first" case and the client is not using types and interfaces that are
> > > generated from the wsdl2java tool run on the wsdl.   Correct?    I
> > > assume the server side is the same way?    If so, DEFINITELY stick ASM
> > > there.
> >
> > I have ASM on the classpath. However, I seeing 2 versions of ASM 1..5.3,
> > which Hibernate seems to be pulling in and 2.2.3.  Is this causing the
> > problem?
> 
> Yep.   Most likely.   If we detect 1.5.x, we more or less have to punt as
>  we need 2.x or 3.x.      If you can, exclude the cglib thing they pull in
>  and have it pull in the "cglib-nodeps" jar instead.   The cglib-nodeps jar
>  bundles in the version of asm they need (1.5.x), but in a unique package
>  to not interfere.
> 
> > Yes, this is a java first case and the client is not using the types or
> > interfaces that are generated by wsdl to java.  Should I make that
> > change?
> 
> No.  If you can get the ASM stuff to work, it's not really needed.  If you
> aren't validating on the client side, it's not needed there at all and I
> wouldn't worry about it.   The soap message is completely correct.
> 
> Dan
> 
> > > Dan
> > >
> > >> Regards
> > >> Suneet
> > >>
> > >>
> > >>
> > >> Client Code:
> > >>
> > >> Service service =
> > >> Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/E
> > >>xa mpl eConnectorService"));
> > >>
> > >> service.addPort(new
> > >> QName("http://www.openiam.org/service/connector","ExampleConnectorServ
> > >>ic ePo rt"), SOAPBinding.SOAP11HTTP_BINDING,
> > >> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
> > >>
> > >> ConnectorService port = service.getPort(new
> > >> QName("http://www.openiam.org/service/connector","ExampleConnectorServ
> > >>ic ePo rt"),
> > >>
> > >> ConnectorService.class);
> > >>
> > >>
> > >> log.info("connector service client " + port);
> > >>
> > >> AddRequestType addReqType = new AddRequestType();
> > >> PSOIdentifierType idType = new
> > >> PSOIdentifierType(lg.getId().getLogin(),null, "target");
> > >> addReqType.setPsoID(idType);
> > >> addReqType.setRequestID("R4589");
> > >> addReqType.setTargetID(lg.getId().getManagedSysId());
> > >>
> > >> ExtensibleUser extUser = new ExtensibleUser();
> > >> extUser.setName(user.getFirstName() + " " + user.getLastName());
> > >> extUser.getAttributes().add(new
> > >> ExtensibleAttribute("cn",user.getFirstName() + " " +
> > >> user.getLastName()));
> > >>
> > >> addReqType.getData().getAny().add(extUser);
> > >>
> > >> port.add(addReqType);
> > >>
> > >> Exception:
> > >>
> > >> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find
> > >> the declaration of element 'reqType'. Location: line 4
> > >> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
> > >> doIntercept
> > >> WARNING: Interceptor has thrown exception, unwinding now
> > >> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1:
> > >> Cannot find the declaration of element 'reqType'.
> > >> at
> > >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
> > >> java:661)
> > >> at
> > >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.j
> > >>av a:5 33) at
> > >> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128) at
> > >> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralI
> > >>nI nte rceptor.java:238) at
> > >> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLi
> > >>te ral InInterceptor.java:117) at
> > >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> > >>rC hai n.java:236) at
> > >> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia
> > >>ti onO bserver.java:104)
> > >>
> > >> Generated Request:
> > >>
> > >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> > >> <soap:Body>
> > >> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
> > >> <reqType targetID="102" requestID="R4589"
> > >> xmlns="http://www.openiam.org/service/connector">
> > >> <psoID targetID="target" ID="test01.user04a"/>
> > >> <data>
> > >> <extensibleUser>
> > >> <name>Test User03</name>
> > >> <operation>0</operation>
> > >> <attributes>
> > >> <name>cn</name>
> > >> <value>Test User03</value>
> > >> <operation>1</operation>
> > >> </attributes>
> > >> </extensibleUser>
> > >> </data>
> > >> </reqType>
> > >> </ns1:add>
> > >> </soap:Body>
> > >> </soap:Envelope>
> > >>
> > >> WSDL:
> > >>
> > >>
> > >> <wsdl:definitions name="ExampleConnectorService"
> > >> targetNamespace="http://www.openiam.org/service/connector">
> > >> −
> > >> <wsdl:types>
> > >> −
> > >> <xs:schema attributeFormDefault="unqualified"
> > >> elementFormDefault="qualified"
> > >> targetNamespace="http://www.openiam.org/service/connector">
> > >> <xs:element name="addRequest" type="tns:AddRequestType"/>
> > >> <xs:element name="addResponse" type="tns:AddResponseType"/>
> > >> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
> > >> <xs:element name="deleteResponse" type="tns:ResponseType"/>
> > >> <xs:element name="expirePasswordRequest"
> > >> type="tns:ExpirePasswordRequestType"/>
> > >> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
> > >> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
> > >> <xs:element name="listTargetsRequest"
> > >> type="tns:ListTargetsRequestType"/> <xs:element
> > >> name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
> > >> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
> > >> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
> > >> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
> > >> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
> > >> <xs:element name="resetPasswordRequest"
> > >> type="tns:ResetPasswordRequestType"/>
> > >> <xs:element name="resetPasswordResponse"
> > >> type="tns:ResetPasswordResponseType"/>
> > >> <xs:element name="select" type="tns:SelectionType"/>
> > >> <xs:element name="setPasswordRequest"
> > >> type="tns:SetPasswordRequestType"/> <xs:element
> > >> name="setPasswordResponse" type="tns:ResponseType"/> <xs:element
> > >> name="validatePasswordRequest"
> > >> type="tns:ValidatePasswordRequestType"/>
> > >> <xs:element name="validatePasswordResponse"
> > >> type="tns:ValidatePasswordResponseType"/>
> > >> −
> > >> <xs:complexType name="ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
> > >> processContents="lax"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="SelectionType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:QueryClauseType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0"
> > >> name="namespacePrefixMap" nillable="true"
> > >> type="tns:NamespacePrefixMappingType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="path" type="xs:string" use="required"/>
> > >> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="QueryClauseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> <xs:sequence/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="NamespacePrefixMappingType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="prefix" type="xs:string" use="required"/>
> > >> <xs:attribute name="namespace" type="xs:string" use="required"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="AddRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
> > >> <xs:element minOccurs="0" name="containerID"
> > >> type="tns:PSOIdentifierType"/> <xs:element name="data"
> > >> type="tns:ExtensibleType"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> > >> nillable="true" type="tns:CapabilityDataType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="targetID" type="xs:string"/>
> > >> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="RequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="requestID" type="xs:ID"/>
> > >> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="PSOIdentifierType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:IdentifierType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="containerID"
> > >> type="tns:PSOIdentifierType"/> </xs:sequence>
> > >> <xs:attribute name="targetID" type="xs:string"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="IdentifierType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="ID" type="xs:string"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="CapabilityDataType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
> > >> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="LookupRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ListTargetsRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="profile" type="xs:anyURI"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="DeleteRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="recursive" type="xs:boolean"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ModifyRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> <xs:element maxOccurs="unbounded" name="modification"
> > >> type="tns:ModificationType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ModificationType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
> > >> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> > >> nillable="true" type="tns:CapabilityDataType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="modificationMode"
> > >> type="tns:ModificationModeType"/> <xs:anyAttribute namespace="##other"
> > >> processContents="skip"/> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="CapabilityType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
> > >> nillable="true" type="tns:SchemaEntityRefType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
> > >> <xs:attribute name="location" type="xs:anyURI"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="SchemaEntityRefType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="targetID" type="xs:string"/>
> > >> <xs:attribute name="entityName" type="xs:string"/>
> > >> <xs:attribute name="isContainer" type="xs:boolean"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ModifyResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ResponseType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
> > >> nillable="true" type="xs:string"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
> > >> <xs:attribute name="requestID" type="xs:ID"/>
> > >> <xs:attribute name="error" type="tns:ErrorCode"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="PSOType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> > >> nillable="true" type="tns:CapabilityDataType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="AddResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ResponseType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ListTargetsResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ResponseType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
> > >> nillable="true" type="tns:TargetType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="TargetType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" name="schema"
> > >> type="tns:SchemaType"/> <xs:element minOccurs="0" name="capabilities"
> > >> type="tns:CapabilitiesListType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="targetID" type="xs:string"/>
> > >> <xs:attribute name="profile" type="xs:anyURI"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="SchemaType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0"
> > >> name="supportedSchemaEntity" nillable="true"
> > >> type="tns:SchemaEntityRefType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="ref" type="xs:anyURI"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="CapabilitiesListType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
> > >> nillable="true" type="tns:CapabilityType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="LookupResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ResponseType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ExtensibleUser">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleObject">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
> > >> nillable="true" type="tns:ExtensibleObject"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
> > >> nillable="true" type="tns:ExtensibleObject"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
> > >> nillable="true" type="tns:ExtensibleObject"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
> > >> nillable="true" type="tns:ExtensibleGroup"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
> > >> nillable="true" type="tns:ExtensibleRole"/>
> > >> </xs:sequence>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ExtensibleObject">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
> > >> <xs:element minOccurs="0" name="name" type="xs:string"/>
> > >> <xs:element name="operation" type="xs:int"/>
> > >> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
> > >> nillable="true" type="tns:ExtensibleAttribute"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ExtensibleAttribute">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="name" type="xs:string"/>
> > >> <xs:element minOccurs="0" name="value" type="xs:string"/>
> > >> <xs:element name="operation" type="xs:int"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ExtensibleGroup">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleObject">
> > >> <xs:sequence/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ExtensibleRole">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ExtensibleObject">
> > >> <xs:sequence/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ExpirePasswordRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> </xs:sequence>
> > >> <xs:attribute name="remainingLogins" type="xs:int"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ValidatePasswordRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> <xs:element name="password" type="xs:string"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ValidatePasswordResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ResponseType">
> > >> <xs:sequence/>
> > >> <xs:attribute name="valid" type="xs:boolean"/>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="SetPasswordRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> <xs:element name="password" type="xs:string"/>
> > >> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ResetPasswordRequestType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:RequestType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:complexType name="ResetPasswordResponseType">
> > >> −
> > >> <xs:complexContent>
> > >> −
> > >> <xs:extension base="tns:ResponseType">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="password" type="xs:string"/>
> > >> </xs:sequence>
> > >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> > >> </xs:extension>
> > >> </xs:complexContent>
> > >> </xs:complexType>
> > >> −
> > >> <xs:simpleType name="ReturnDataType">
> > >> −
> > >> <xs:restriction base="xs:string">
> > >> <xs:enumeration value="identifier"/>
> > >> <xs:enumeration value="data"/>
> > >> <xs:enumeration value="everything"/>
> > >> </xs:restriction>
> > >> </xs:simpleType>
> > >> −
> > >> <xs:simpleType name="ExecutionModeType">
> > >> −
> > >> <xs:restriction base="xs:string">
> > >> <xs:enumeration value="synchronous"/>
> > >> <xs:enumeration value="asynchronous"/>
> > >> </xs:restriction>
> > >> </xs:simpleType>
> > >> −
> > >> <xs:simpleType name="ModificationModeType">
> > >> −
> > >> <xs:restriction base="xs:string">
> > >> <xs:enumeration value="add"/>
> > >> <xs:enumeration value="replace"/>
> > >> <xs:enumeration value="delete"/>
> > >> </xs:restriction>
> > >> </xs:simpleType>
> > >> −
> > >> <xs:simpleType name="StatusCodeType">
> > >> −
> > >> <xs:restriction base="xs:string">
> > >> <xs:enumeration value="success"/>
> > >> <xs:enumeration value="failure"/>
> > >> <xs:enumeration value="pending"/>
> > >> </xs:restriction>
> > >> </xs:simpleType>
> > >> −
> > >> <xs:simpleType name="ErrorCode">
> > >> −
> > >> <xs:restriction base="xs:string">
> > >> <xs:enumeration value="malformedRequest"/>
> > >> <xs:enumeration value="unsupportedOperation"/>
> > >> <xs:enumeration value="unsupportedIdentifierType"/>
> > >> <xs:enumeration value="noSuchIdentifier"/>
> > >> <xs:enumeration value="customError"/>
> > >> <xs:enumeration value="unsupportedExecutionMode"/>
> > >> <xs:enumeration value="invalidContainment"/>
> > >> <xs:enumeration value="noSuchRequest"/>
> > >> <xs:enumeration value="unsupportedSelectionType"/>
> > >> <xs:enumeration value="resultSetToLarge"/>
> > >> <xs:enumeration value="unsupportedProfile"/>
> > >> <xs:enumeration value="invalidIdentifier"/>
> > >> <xs:enumeration value="alreadyExists"/>
> > >> <xs:enumeration value="containerNotEmpty"/>
> > >> </xs:restriction>
> > >> </xs:simpleType>
> > >> <xs:element name="add" type="tns:add"/>
> > >> −
> > >> <xs:complexType name="add">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="testConnection" type="tns:testConnection"/>
> > >> −
> > >> <xs:complexType name="testConnection">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="testConnectionResponse"
> > >> type="tns:testConnectionResponse"/>
> > >> −
> > >> <xs:complexType name="testConnectionResponse">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element name="return" type="xs:boolean"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="expirePassword" type="tns:expirePassword"/>
> > >> −
> > >> <xs:complexType name="expirePassword">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="request"
> > >> type="tns:ExpirePasswordRequestType"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="lookup" type="tns:lookup"/>
> > >> −
> > >> <xs:complexType name="lookup">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="reqType"
> > >> type="tns:LookupRequestType"/> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="delete" type="tns:delete"/>
> > >> −
> > >> <xs:complexType name="delete">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="reqType"
> > >> type="tns:DeleteRequestType"/> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="validatePassword" type="tns:validatePassword"/>
> > >> −
> > >> <xs:complexType name="validatePassword">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="request"
> > >> type="tns:ValidatePasswordRequestType"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="modify" type="tns:modify"/>
> > >> −
> > >> <xs:complexType name="modify">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="reqType"
> > >> type="tns:ModifyRequestType"/> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="setPassword" type="tns:setPassword"/>
> > >> −
> > >> <xs:complexType name="setPassword">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="request"
> > >>  type="tns:SetPasswordRequestType"/> </xs:sequence>
> > >> </xs:complexType>
> > >> <xs:element name="resetPassword" type="tns:resetPassword"/>
> > >> −
> > >> <xs:complexType name="resetPassword">
> > >> −
> > >> <xs:sequence>
> > >> <xs:element minOccurs="0" name="request"
> > >> type="tns:ResetPasswordRequestType"/>
> > >> </xs:sequence>
> > >> </xs:complexType>
> > >> </xs:schema>
> > >> </wsdl:types>
> > >> −
> > >> <wsdl:message name="resetPasswordResponse">
> > >> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="modifyResponse">
> > >> <wsdl:part element="tns:modifyResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="delete">
> > >> <wsdl:part element="tns:delete" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="setPassword">
> > >> <wsdl:part element="tns:setPassword" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="deleteResponse">
> > >> <wsdl:part element="tns:deleteResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="setPasswordResponse">
> > >> <wsdl:part element="tns:setPasswordResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="validatePasswordResponse">
> > >> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="lookupResponse">
> > >> <wsdl:part element="tns:lookupResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="testConnection">
> > >> <wsdl:part element="tns:testConnection" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="modify">
> > >> <wsdl:part element="tns:modify" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="testConnectionResponse">
> > >> <wsdl:part element="tns:testConnectionResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="add">
> > >> <wsdl:part element="tns:add" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="expirePasswordResponse">
> > >> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="lookup">
> > >> <wsdl:part element="tns:lookup" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="addResponse">
> > >> <wsdl:part element="tns:addResponse" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="expirePassword">
> > >> <wsdl:part element="tns:expirePassword" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="validatePassword">
> > >> <wsdl:part element="tns:validatePassword" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:message name="resetPassword">
> > >> <wsdl:part element="tns:resetPassword" name="parameters">
> > >> </wsdl:part>
> > >> </wsdl:message>
> > >> −
> > >> <wsdl:portType name="ConnectorService">
> > >> −
> > >> <wsdl:operation name="add">
> > >> <wsdl:input message="tns:add" name="add">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:addResponse" name="addResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="testConnection">
> > >> <wsdl:input message="tns:testConnection" name="testConnection">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:testConnectionResponse"
> > >> name="testConnectionResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="expirePassword">
> > >> <wsdl:input message="tns:expirePassword" name="expirePassword">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:expirePasswordResponse"
> > >> name="expirePasswordResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="lookup">
> > >> <wsdl:input message="tns:lookup" name="lookup">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="delete">
> > >> <wsdl:input message="tns:delete" name="delete">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="validatePassword">
> > >> <wsdl:input message="tns:validatePassword" name="validatePassword">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:validatePasswordResponse"
> > >> name="validatePasswordResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="modify">
> > >> <wsdl:input message="tns:modify" name="modify">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="setPassword">
> > >> <wsdl:input message="tns:setPassword" name="setPassword">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:setPasswordResponse"
> > >> name="setPasswordResponse"> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="resetPassword">
> > >> <wsdl:input message="tns:resetPassword" name="resetPassword">
> > >> </wsdl:input>
> > >> <wsdl:output message="tns:resetPasswordResponse"
> > >> name="resetPasswordResponse">
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> </wsdl:portType>
> > >> −
> > >> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
> > >> type="tns:ConnectorService">
> > >> <soap:binding style="document"
> > >> transport="http://schemas.xmlsoap.org/soap/http"/>
> > >> −
> > >> <wsdl:operation name="add">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="add">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="addResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="testConnection">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="testConnection">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="testConnectionResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="expirePassword">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="expirePassword">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="expirePasswordResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="lookup">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="lookup">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="lookupResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="delete">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="delete">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="deleteResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="validatePassword">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="validatePassword">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="validatePasswordResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="modify">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="modify">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="modifyResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="setPassword">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="setPassword">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="setPasswordResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> −
> > >> <wsdl:operation name="resetPassword">
> > >> <soap:operation soapAction="" style="document"/>
> > >> −
> > >> <wsdl:input name="resetPassword">
> > >> <soap:body use="literal"/>
> > >> </wsdl:input>
> > >> −
> > >> <wsdl:output name="resetPasswordResponse">
> > >> <soap:body use="literal"/>
> > >> </wsdl:output>
> > >> </wsdl:operation>
> > >> </wsdl:binding>
> > >> −
> > >> <wsdl:service name="ExampleConnectorService">
> > >> −
> > >> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
> > >> name="ExampleConnectorServicePort">
> > >> <soap:address
> > >> location="http://localhost:8080/idm-connector-ws/ExampleConnectorServi
> > >>ce "/> </wsdl:port>
> > >> </wsdl:service>
> > >> </wsdl:definitions>
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: Unmarshalling Error

Posted by Daniel Kulp <dk...@apache.org>.
On Mon November 9 2009 10:39:31 am Suneet Shah wrote:
> >> Any suggestions on what could be wrong, would be greatly appreciated.
> >
> > Make sure  you have ASM on the classpath on the server side, preferably
> > on both sides.
> >
> > Judging from the soap message, I'm going to assume this is a "java first"
> > case and the client is not using types and interfaces that are generated
> > from the wsdl2java tool run on the wsdl.   Correct?    I assume the
> > server side is the same way?    If so, DEFINITELY stick ASM there.
> 
> I have ASM on the classpath. However, I seeing 2 versions of ASM 1..5.3,
> which Hibernate seems to be pulling in and 2.2.3.  Is this causing the
> problem?

Yep.   Most likely.   If we detect 1.5.x, we more or less have to punt as we 
need 2.x or 3.x.      If you can, exclude the cglib thing they pull in and 
have it pull in the "cglib-nodeps" jar instead.   The cglib-nodeps jar bundles 
in the version of asm they need (1.5.x), but in a unique package to not 
interfere.

> Yes, this is a java first case and the client is not using the types or
> interfaces that are generated by wsdl to java.  Should I make that change?

No.  If you can get the ASM stuff to work, it's not really needed.  If you 
aren't validating on the client side, it's not needed there at all and I 
wouldn't worry about it.   The soap message is completely correct.

Dan



> 
> > Dan
> >
> >> Regards
> >> Suneet
> >>
> >>
> >>
> >> Client Code:
> >>
> >> Service service =
> >> Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/Exa
> >>mpl eConnectorService"));
> >>
> >> service.addPort(new
> >> QName("http://www.openiam.org/service/connector","ExampleConnectorServic
> >>ePo rt"), SOAPBinding.SOAP11HTTP_BINDING,
> >> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
> >>
> >> ConnectorService port = service.getPort(new
> >> QName("http://www.openiam.org/service/connector","ExampleConnectorServic
> >>ePo rt"),
> >>
> >> ConnectorService.class);
> >>
> >>
> >> log.info("connector service client " + port);
> >>
> >> AddRequestType addReqType = new AddRequestType();
> >> PSOIdentifierType idType = new
> >> PSOIdentifierType(lg.getId().getLogin(),null, "target");
> >> addReqType.setPsoID(idType);
> >> addReqType.setRequestID("R4589");
> >> addReqType.setTargetID(lg.getId().getManagedSysId());
> >>
> >> ExtensibleUser extUser = new ExtensibleUser();
> >> extUser.setName(user.getFirstName() + " " + user.getLastName());
> >> extUser.getAttributes().add(new
> >> ExtensibleAttribute("cn",user.getFirstName() + " " +
> >> user.getLastName()));
> >>
> >> addReqType.getData().getAny().add(extUser);
> >>
> >> port.add(addReqType);
> >>
> >> Exception:
> >>
> >> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the
> >> declaration of element 'reqType'. Location: line 4
> >> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
> >> doIntercept
> >> WARNING: Interceptor has thrown exception, unwinding now
> >> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
> >> find the declaration of element 'reqType'.
> >> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
> >> java:661)
> >> at
> >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.jav
> >>a:5 33) at
> >> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128) at
> >> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInI
> >>nte rceptor.java:238) at
> >> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLite
> >>ral InInterceptor.java:117) at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> >>hai n.java:236) at
> >> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
> >>onO bserver.java:104)
> >>
> >> Generated Request:
> >>
> >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> >> <soap:Body>
> >> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
> >> <reqType targetID="102" requestID="R4589"
> >> xmlns="http://www.openiam.org/service/connector">
> >> <psoID targetID="target" ID="test01.user04a"/>
> >> <data>
> >> <extensibleUser>
> >> <name>Test User03</name>
> >> <operation>0</operation>
> >> <attributes>
> >> <name>cn</name>
> >> <value>Test User03</value>
> >> <operation>1</operation>
> >> </attributes>
> >> </extensibleUser>
> >> </data>
> >> </reqType>
> >> </ns1:add>
> >> </soap:Body>
> >> </soap:Envelope>
> >>
> >> WSDL:
> >>
> >>
> >> <wsdl:definitions name="ExampleConnectorService"
> >> targetNamespace="http://www.openiam.org/service/connector">
> >> −
> >> <wsdl:types>
> >> −
> >> <xs:schema attributeFormDefault="unqualified"
> >> elementFormDefault="qualified"
> >> targetNamespace="http://www.openiam.org/service/connector">
> >> <xs:element name="addRequest" type="tns:AddRequestType"/>
> >> <xs:element name="addResponse" type="tns:AddResponseType"/>
> >> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
> >> <xs:element name="deleteResponse" type="tns:ResponseType"/>
> >> <xs:element name="expirePasswordRequest"
> >> type="tns:ExpirePasswordRequestType"/>
> >> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
> >> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
> >> <xs:element name="listTargetsRequest"
> >> type="tns:ListTargetsRequestType"/> <xs:element
> >> name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
> >> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
> >> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
> >> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
> >> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
> >> <xs:element name="resetPasswordRequest"
> >> type="tns:ResetPasswordRequestType"/>
> >> <xs:element name="resetPasswordResponse"
> >> type="tns:ResetPasswordResponseType"/>
> >> <xs:element name="select" type="tns:SelectionType"/>
> >> <xs:element name="setPasswordRequest"
> >> type="tns:SetPasswordRequestType"/> <xs:element
> >> name="setPasswordResponse" type="tns:ResponseType"/> <xs:element
> >> name="validatePasswordRequest"
> >> type="tns:ValidatePasswordRequestType"/>
> >> <xs:element name="validatePasswordResponse"
> >> type="tns:ValidatePasswordResponseType"/>
> >> −
> >> <xs:complexType name="ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
> >> processContents="lax"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="SelectionType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:QueryClauseType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0"
> >> name="namespacePrefixMap" nillable="true"
> >> type="tns:NamespacePrefixMappingType"/>
> >> </xs:sequence>
> >> <xs:attribute name="path" type="xs:string" use="required"/>
> >> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="QueryClauseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> <xs:sequence/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="NamespacePrefixMappingType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> <xs:sequence/>
> >> <xs:attribute name="prefix" type="xs:string" use="required"/>
> >> <xs:attribute name="namespace" type="xs:string" use="required"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="AddRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
> >> <xs:element minOccurs="0" name="containerID"
> >> type="tns:PSOIdentifierType"/> <xs:element name="data"
> >> type="tns:ExtensibleType"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> >> nillable="true" type="tns:CapabilityDataType"/>
> >> </xs:sequence>
> >> <xs:attribute name="targetID" type="xs:string"/>
> >> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="RequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> <xs:sequence/>
> >> <xs:attribute name="requestID" type="xs:ID"/>
> >> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="PSOIdentifierType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:IdentifierType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="containerID"
> >> type="tns:PSOIdentifierType"/> </xs:sequence>
> >> <xs:attribute name="targetID" type="xs:string"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="IdentifierType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> <xs:sequence/>
> >> <xs:attribute name="ID" type="xs:string"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="CapabilityDataType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> <xs:sequence/>
> >> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
> >> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="LookupRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> </xs:sequence>
> >> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ListTargetsRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> <xs:sequence/>
> >> <xs:attribute name="profile" type="xs:anyURI"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="DeleteRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> </xs:sequence>
> >> <xs:attribute name="recursive" type="xs:boolean"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ModifyRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> <xs:element maxOccurs="unbounded" name="modification"
> >> type="tns:ModificationType"/>
> >> </xs:sequence>
> >> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ModificationType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
> >> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> >> nillable="true" type="tns:CapabilityDataType"/>
> >> </xs:sequence>
> >> <xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="CapabilityType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
> >> nillable="true" type="tns:SchemaEntityRefType"/>
> >> </xs:sequence>
> >> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
> >> <xs:attribute name="location" type="xs:anyURI"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="SchemaEntityRefType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> <xs:sequence/>
> >> <xs:attribute name="targetID" type="xs:string"/>
> >> <xs:attribute name="entityName" type="xs:string"/>
> >> <xs:attribute name="isContainer" type="xs:boolean"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ModifyResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ResponseType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
> >> nillable="true" type="xs:string"/>
> >> </xs:sequence>
> >> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
> >> <xs:attribute name="requestID" type="xs:ID"/>
> >> <xs:attribute name="error" type="tns:ErrorCode"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="PSOType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> >> nillable="true" type="tns:CapabilityDataType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="AddResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ResponseType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ListTargetsResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ResponseType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
> >> nillable="true" type="tns:TargetType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="TargetType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
> >> <xs:element minOccurs="0" name="capabilities"
> >> type="tns:CapabilitiesListType"/>
> >> </xs:sequence>
> >> <xs:attribute name="targetID" type="xs:string"/>
> >> <xs:attribute name="profile" type="xs:anyURI"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="SchemaType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0"
> >> name="supportedSchemaEntity" nillable="true"
> >> type="tns:SchemaEntityRefType"/>
> >> </xs:sequence>
> >> <xs:attribute name="ref" type="xs:anyURI"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="CapabilitiesListType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleType">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
> >> nillable="true" type="tns:CapabilityType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="LookupResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ResponseType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ExtensibleUser">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleObject">
> >> −
> >> <xs:sequence>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
> >> nillable="true" type="tns:ExtensibleObject"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
> >> nillable="true" type="tns:ExtensibleObject"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
> >> nillable="true" type="tns:ExtensibleObject"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
> >> nillable="true" type="tns:ExtensibleGroup"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
> >> nillable="true" type="tns:ExtensibleRole"/>
> >> </xs:sequence>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ExtensibleObject">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
> >> <xs:element minOccurs="0" name="name" type="xs:string"/>
> >> <xs:element name="operation" type="xs:int"/>
> >> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
> >> nillable="true" type="tns:ExtensibleAttribute"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ExtensibleAttribute">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="name" type="xs:string"/>
> >> <xs:element minOccurs="0" name="value" type="xs:string"/>
> >> <xs:element name="operation" type="xs:int"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ExtensibleGroup">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleObject">
> >> <xs:sequence/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ExtensibleRole">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ExtensibleObject">
> >> <xs:sequence/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ExpirePasswordRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> </xs:sequence>
> >> <xs:attribute name="remainingLogins" type="xs:int"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ValidatePasswordRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> <xs:element name="password" type="xs:string"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ValidatePasswordResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ResponseType">
> >> <xs:sequence/>
> >> <xs:attribute name="valid" type="xs:boolean"/>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="SetPasswordRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> <xs:element name="password" type="xs:string"/>
> >> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ResetPasswordRequestType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:RequestType">
> >> −
> >> <xs:sequence>
> >> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:complexType name="ResetPasswordResponseType">
> >> −
> >> <xs:complexContent>
> >> −
> >> <xs:extension base="tns:ResponseType">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="password" type="xs:string"/>
> >> </xs:sequence>
> >> <xs:anyAttribute namespace="##other" processContents="skip"/>
> >> </xs:extension>
> >> </xs:complexContent>
> >> </xs:complexType>
> >> −
> >> <xs:simpleType name="ReturnDataType">
> >> −
> >> <xs:restriction base="xs:string">
> >> <xs:enumeration value="identifier"/>
> >> <xs:enumeration value="data"/>
> >> <xs:enumeration value="everything"/>
> >> </xs:restriction>
> >> </xs:simpleType>
> >> −
> >> <xs:simpleType name="ExecutionModeType">
> >> −
> >> <xs:restriction base="xs:string">
> >> <xs:enumeration value="synchronous"/>
> >> <xs:enumeration value="asynchronous"/>
> >> </xs:restriction>
> >> </xs:simpleType>
> >> −
> >> <xs:simpleType name="ModificationModeType">
> >> −
> >> <xs:restriction base="xs:string">
> >> <xs:enumeration value="add"/>
> >> <xs:enumeration value="replace"/>
> >> <xs:enumeration value="delete"/>
> >> </xs:restriction>
> >> </xs:simpleType>
> >> −
> >> <xs:simpleType name="StatusCodeType">
> >> −
> >> <xs:restriction base="xs:string">
> >> <xs:enumeration value="success"/>
> >> <xs:enumeration value="failure"/>
> >> <xs:enumeration value="pending"/>
> >> </xs:restriction>
> >> </xs:simpleType>
> >> −
> >> <xs:simpleType name="ErrorCode">
> >> −
> >> <xs:restriction base="xs:string">
> >> <xs:enumeration value="malformedRequest"/>
> >> <xs:enumeration value="unsupportedOperation"/>
> >> <xs:enumeration value="unsupportedIdentifierType"/>
> >> <xs:enumeration value="noSuchIdentifier"/>
> >> <xs:enumeration value="customError"/>
> >> <xs:enumeration value="unsupportedExecutionMode"/>
> >> <xs:enumeration value="invalidContainment"/>
> >> <xs:enumeration value="noSuchRequest"/>
> >> <xs:enumeration value="unsupportedSelectionType"/>
> >> <xs:enumeration value="resultSetToLarge"/>
> >> <xs:enumeration value="unsupportedProfile"/>
> >> <xs:enumeration value="invalidIdentifier"/>
> >> <xs:enumeration value="alreadyExists"/>
> >> <xs:enumeration value="containerNotEmpty"/>
> >> </xs:restriction>
> >> </xs:simpleType>
> >> <xs:element name="add" type="tns:add"/>
> >> −
> >> <xs:complexType name="add">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="testConnection" type="tns:testConnection"/>
> >> −
> >> <xs:complexType name="testConnection">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="testConnectionResponse"
> >> type="tns:testConnectionResponse"/>
> >> −
> >> <xs:complexType name="testConnectionResponse">
> >> −
> >> <xs:sequence>
> >> <xs:element name="return" type="xs:boolean"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="expirePassword" type="tns:expirePassword"/>
> >> −
> >> <xs:complexType name="expirePassword">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="request"
> >> type="tns:ExpirePasswordRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="lookup" type="tns:lookup"/>
> >> −
> >> <xs:complexType name="lookup">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="delete" type="tns:delete"/>
> >> −
> >> <xs:complexType name="delete">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="validatePassword" type="tns:validatePassword"/>
> >> −
> >> <xs:complexType name="validatePassword">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="request"
> >> type="tns:ValidatePasswordRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="modify" type="tns:modify"/>
> >> −
> >> <xs:complexType name="modify">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="setPassword" type="tns:setPassword"/>
> >> −
> >> <xs:complexType name="setPassword">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="request"
> >>  type="tns:SetPasswordRequestType"/> </xs:sequence>
> >> </xs:complexType>
> >> <xs:element name="resetPassword" type="tns:resetPassword"/>
> >> −
> >> <xs:complexType name="resetPassword">
> >> −
> >> <xs:sequence>
> >> <xs:element minOccurs="0" name="request"
> >> type="tns:ResetPasswordRequestType"/>
> >> </xs:sequence>
> >> </xs:complexType>
> >> </xs:schema>
> >> </wsdl:types>
> >> −
> >> <wsdl:message name="resetPasswordResponse">
> >> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="modifyResponse">
> >> <wsdl:part element="tns:modifyResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="delete">
> >> <wsdl:part element="tns:delete" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="setPassword">
> >> <wsdl:part element="tns:setPassword" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="deleteResponse">
> >> <wsdl:part element="tns:deleteResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="setPasswordResponse">
> >> <wsdl:part element="tns:setPasswordResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="validatePasswordResponse">
> >> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="lookupResponse">
> >> <wsdl:part element="tns:lookupResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="testConnection">
> >> <wsdl:part element="tns:testConnection" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="modify">
> >> <wsdl:part element="tns:modify" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="testConnectionResponse">
> >> <wsdl:part element="tns:testConnectionResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="add">
> >> <wsdl:part element="tns:add" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="expirePasswordResponse">
> >> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="lookup">
> >> <wsdl:part element="tns:lookup" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="addResponse">
> >> <wsdl:part element="tns:addResponse" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="expirePassword">
> >> <wsdl:part element="tns:expirePassword" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="validatePassword">
> >> <wsdl:part element="tns:validatePassword" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:message name="resetPassword">
> >> <wsdl:part element="tns:resetPassword" name="parameters">
> >> </wsdl:part>
> >> </wsdl:message>
> >> −
> >> <wsdl:portType name="ConnectorService">
> >> −
> >> <wsdl:operation name="add">
> >> <wsdl:input message="tns:add" name="add">
> >> </wsdl:input>
> >> <wsdl:output message="tns:addResponse" name="addResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="testConnection">
> >> <wsdl:input message="tns:testConnection" name="testConnection">
> >> </wsdl:input>
> >> <wsdl:output message="tns:testConnectionResponse"
> >> name="testConnectionResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="expirePassword">
> >> <wsdl:input message="tns:expirePassword" name="expirePassword">
> >> </wsdl:input>
> >> <wsdl:output message="tns:expirePasswordResponse"
> >> name="expirePasswordResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="lookup">
> >> <wsdl:input message="tns:lookup" name="lookup">
> >> </wsdl:input>
> >> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="delete">
> >> <wsdl:input message="tns:delete" name="delete">
> >> </wsdl:input>
> >> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="validatePassword">
> >> <wsdl:input message="tns:validatePassword" name="validatePassword">
> >> </wsdl:input>
> >> <wsdl:output message="tns:validatePasswordResponse"
> >> name="validatePasswordResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="modify">
> >> <wsdl:input message="tns:modify" name="modify">
> >> </wsdl:input>
> >> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="setPassword">
> >> <wsdl:input message="tns:setPassword" name="setPassword">
> >> </wsdl:input>
> >> <wsdl:output message="tns:setPasswordResponse"
> >> name="setPasswordResponse"> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="resetPassword">
> >> <wsdl:input message="tns:resetPassword" name="resetPassword">
> >> </wsdl:input>
> >> <wsdl:output message="tns:resetPasswordResponse"
> >> name="resetPasswordResponse">
> >> </wsdl:output>
> >> </wsdl:operation>
> >> </wsdl:portType>
> >> −
> >> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
> >> type="tns:ConnectorService">
> >> <soap:binding style="document"
> >> transport="http://schemas.xmlsoap.org/soap/http"/>
> >> −
> >> <wsdl:operation name="add">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="add">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="addResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="testConnection">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="testConnection">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="testConnectionResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="expirePassword">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="expirePassword">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="expirePasswordResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="lookup">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="lookup">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="lookupResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="delete">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="delete">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="deleteResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="validatePassword">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="validatePassword">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="validatePasswordResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="modify">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="modify">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="modifyResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="setPassword">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="setPassword">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="setPasswordResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> −
> >> <wsdl:operation name="resetPassword">
> >> <soap:operation soapAction="" style="document"/>
> >> −
> >> <wsdl:input name="resetPassword">
> >> <soap:body use="literal"/>
> >> </wsdl:input>
> >> −
> >> <wsdl:output name="resetPasswordResponse">
> >> <soap:body use="literal"/>
> >> </wsdl:output>
> >> </wsdl:operation>
> >> </wsdl:binding>
> >> −
> >> <wsdl:service name="ExampleConnectorService">
> >> −
> >> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
> >> name="ExampleConnectorServicePort">
> >> <soap:address
> >> location="http://localhost:8080/idm-connector-ws/ExampleConnectorService
> >>"/> </wsdl:port>
> >> </wsdl:service>
> >> </wsdl:definitions>
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: Unmarshalling Error

Posted by Suneet Shah <su...@gmail.com>.
Hi Dan:

Please see my response below.

Thanks for your help.

Daniel Kulp wrote:
> On Mon November 9 2009 1:47:00 am Suneet Shah wrote:
>   
>> Hello:
>>
>> I am getting an unmarshalling error when I am calling my service.
>> However, the error only occurs when I turn on schema validation. It does
>> not occur when schema validation has been turned off. I have pasted my
>> client code, exception and wsdl below.
>>     
>
> You don't say if the validation error is on the client side or server side.  
> I'll assume server side.
>
>   
Server side
>> Any suggestions on what could be wrong, would be greatly appreciated.
>>     
>
> Make sure  you have ASM on the classpath on the server side, preferably on 
> both sides.    
>
> Judging from the soap message, I'm going to assume this is a "java first" case 
> and the client is not using types and interfaces that are generated from the 
> wsdl2java tool run on the wsdl.   Correct?    I assume the server side is the 
> same way?    If so, DEFINITELY stick ASM there.    
>
>   
I have ASM on the classpath. However, I seeing 2 versions of ASM 1..5.3, 
which Hibernate seems to be pulling in and 2.2.3.  Is this causing the 
problem?
Yes, this is a java first case and the client is not using the types or 
interfaces that are generated by wsdl to java.  Should I make that change?

> Dan
>
>
>
>
>   
>> Regards
>> Suneet
>>
>>
>>
>> Client Code:
>>
>> Service service =
>> Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/Exampl
>> eConnectorService"));
>>
>> service.addPort(new
>> QName("http://www.openiam.org/service/connector","ExampleConnectorServicePo
>> rt"), SOAPBinding.SOAP11HTTP_BINDING,
>> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
>>
>> ConnectorService port = service.getPort(new
>> QName("http://www.openiam.org/service/connector","ExampleConnectorServicePo
>> rt"),
>>
>> ConnectorService.class);
>>
>>
>> log.info("connector service client " + port);
>>
>> AddRequestType addReqType = new AddRequestType();
>> PSOIdentifierType idType = new
>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>> addReqType.setPsoID(idType);
>> addReqType.setRequestID("R4589");
>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>
>> ExtensibleUser extUser = new ExtensibleUser();
>> extUser.setName(user.getFirstName() + " " + user.getLastName());
>> extUser.getAttributes().add(new
>> ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));
>>
>> addReqType.getData().getAny().add(extUser);
>>
>> port.add(addReqType);
>>
>> Exception:
>>
>> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the
>> declaration of element 'reqType'. Location: line 4
>> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
>> doIntercept
>> WARNING: Interceptor has thrown exception, unwinding now
>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
>> find the declaration of element 'reqType'.
>> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
>> java:661)
>> at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:5
>> 33) at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>>  at
>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInte
>> rceptor.java:238) at
>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteral
>> InInterceptor.java:117) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
>> n.java:236) at
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO
>> bserver.java:104)
>>
>> Generated Request:
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>> <soap:Body>
>> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
>> <reqType targetID="102" requestID="R4589"
>> xmlns="http://www.openiam.org/service/connector">
>> <psoID targetID="target" ID="test01.user04a"/>
>> <data>
>> <extensibleUser>
>> <name>Test User03</name>
>> <operation>0</operation>
>> <attributes>
>> <name>cn</name>
>> <value>Test User03</value>
>> <operation>1</operation>
>> </attributes>
>> </extensibleUser>
>> </data>
>> </reqType>
>> </ns1:add>
>> </soap:Body>
>> </soap:Envelope>
>>
>> WSDL:
>>
>>
>> <wsdl:definitions name="ExampleConnectorService"
>> targetNamespace="http://www.openiam.org/service/connector">
>> −
>> <wsdl:types>
>> −
>> <xs:schema attributeFormDefault="unqualified"
>> elementFormDefault="qualified"
>> targetNamespace="http://www.openiam.org/service/connector">
>> <xs:element name="addRequest" type="tns:AddRequestType"/>
>> <xs:element name="addResponse" type="tns:AddResponseType"/>
>> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
>> <xs:element name="deleteResponse" type="tns:ResponseType"/>
>> <xs:element name="expirePasswordRequest"
>> type="tns:ExpirePasswordRequestType"/>
>> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
>> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
>> <xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
>> <xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
>> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
>> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
>> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
>> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
>> <xs:element name="resetPasswordRequest"
>> type="tns:ResetPasswordRequestType"/>
>> <xs:element name="resetPasswordResponse"
>> type="tns:ResetPasswordResponseType"/>
>> <xs:element name="select" type="tns:SelectionType"/>
>> <xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
>> <xs:element name="setPasswordResponse" type="tns:ResponseType"/>
>> <xs:element name="validatePasswordRequest"
>> type="tns:ValidatePasswordRequestType"/>
>> <xs:element name="validatePasswordResponse"
>> type="tns:ValidatePasswordResponseType"/>
>> −
>> <xs:complexType name="ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
>> processContents="lax"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:complexType>
>> −
>> <xs:complexType name="SelectionType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:QueryClauseType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0"
>> name="namespacePrefixMap" nillable="true"
>> type="tns:NamespacePrefixMappingType"/>
>> </xs:sequence>
>> <xs:attribute name="path" type="xs:string" use="required"/>
>> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="QueryClauseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="NamespacePrefixMappingType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="prefix" type="xs:string" use="required"/>
>> <xs:attribute name="namespace" type="xs:string" use="required"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="AddRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
>> <xs:element name="data" type="tns:ExtensibleType"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>> nillable="true" type="tns:CapabilityDataType"/>
>> </xs:sequence>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="RequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="requestID" type="xs:ID"/>
>> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="PSOIdentifierType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:IdentifierType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="IdentifierType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="ID" type="xs:string"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="CapabilityDataType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
>> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="LookupRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ListTargetsRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> <xs:sequence/>
>> <xs:attribute name="profile" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="DeleteRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="recursive" type="xs:boolean"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ModifyRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element maxOccurs="unbounded" name="modification"
>> type="tns:ModificationType"/>
>> </xs:sequence>
>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ModificationType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>> nillable="true" type="tns:CapabilityDataType"/>
>> </xs:sequence>
>> <xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="CapabilityType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
>> nillable="true" type="tns:SchemaEntityRefType"/>
>> </xs:sequence>
>> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
>> <xs:attribute name="location" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="SchemaEntityRefType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:attribute name="entityName" type="xs:string"/>
>> <xs:attribute name="isContainer" type="xs:boolean"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ModifyResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
>> nillable="true" type="xs:string"/>
>> </xs:sequence>
>> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
>> <xs:attribute name="requestID" type="xs:ID"/>
>> <xs:attribute name="error" type="tns:ErrorCode"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="PSOType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>> nillable="true" type="tns:CapabilityDataType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="AddResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ListTargetsResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
>> nillable="true" type="tns:TargetType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="TargetType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
>> <xs:element minOccurs="0" name="capabilities"
>> type="tns:CapabilitiesListType"/>
>> </xs:sequence>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:attribute name="profile" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="SchemaType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0"
>> name="supportedSchemaEntity" nillable="true"
>> type="tns:SchemaEntityRefType"/>
>> </xs:sequence>
>> <xs:attribute name="ref" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="CapabilitiesListType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
>> nillable="true" type="tns:CapabilityType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="LookupResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleUser">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleObject">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
>> nillable="true" type="tns:ExtensibleObject"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
>> nillable="true" type="tns:ExtensibleObject"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
>> nillable="true" type="tns:ExtensibleObject"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
>> nillable="true" type="tns:ExtensibleGroup"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
>> nillable="true" type="tns:ExtensibleRole"/>
>> </xs:sequence>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleObject">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>> <xs:element name="operation" type="xs:int"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
>> nillable="true" type="tns:ExtensibleAttribute"/>
>> </xs:sequence>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleAttribute">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>> <xs:element minOccurs="0" name="value" type="xs:string"/>
>> <xs:element name="operation" type="xs:int"/>
>> </xs:sequence>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleGroup">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleObject">
>> <xs:sequence/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleRole">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleObject">
>> <xs:sequence/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExpirePasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="remainingLogins" type="xs:int"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ValidatePasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element name="password" type="xs:string"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ValidatePasswordResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> <xs:sequence/>
>> <xs:attribute name="valid" type="xs:boolean"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="SetPasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element name="password" type="xs:string"/>
>> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ResetPasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ResetPasswordResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="password" type="xs:string"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:simpleType name="ReturnDataType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="identifier"/>
>> <xs:enumeration value="data"/>
>> <xs:enumeration value="everything"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="ExecutionModeType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="synchronous"/>
>> <xs:enumeration value="asynchronous"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="ModificationModeType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="add"/>
>> <xs:enumeration value="replace"/>
>> <xs:enumeration value="delete"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="StatusCodeType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="success"/>
>> <xs:enumeration value="failure"/>
>> <xs:enumeration value="pending"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="ErrorCode">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="malformedRequest"/>
>> <xs:enumeration value="unsupportedOperation"/>
>> <xs:enumeration value="unsupportedIdentifierType"/>
>> <xs:enumeration value="noSuchIdentifier"/>
>> <xs:enumeration value="customError"/>
>> <xs:enumeration value="unsupportedExecutionMode"/>
>> <xs:enumeration value="invalidContainment"/>
>> <xs:enumeration value="noSuchRequest"/>
>> <xs:enumeration value="unsupportedSelectionType"/>
>> <xs:enumeration value="resultSetToLarge"/>
>> <xs:enumeration value="unsupportedProfile"/>
>> <xs:enumeration value="invalidIdentifier"/>
>> <xs:enumeration value="alreadyExists"/>
>> <xs:enumeration value="containerNotEmpty"/>
>> </xs:restriction>
>> </xs:simpleType>
>> <xs:element name="add" type="tns:add"/>
>> −
>> <xs:complexType name="add">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="testConnection" type="tns:testConnection"/>
>> −
>> <xs:complexType name="testConnection">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="testConnectionResponse"
>> type="tns:testConnectionResponse"/>
>> −
>> <xs:complexType name="testConnectionResponse">
>> −
>> <xs:sequence>
>> <xs:element name="return" type="xs:boolean"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="expirePassword" type="tns:expirePassword"/>
>> −
>> <xs:complexType name="expirePassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:ExpirePasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="lookup" type="tns:lookup"/>
>> −
>> <xs:complexType name="lookup">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="delete" type="tns:delete"/>
>> −
>> <xs:complexType name="delete">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="validatePassword" type="tns:validatePassword"/>
>> −
>> <xs:complexType name="validatePassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:ValidatePasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="modify" type="tns:modify"/>
>> −
>> <xs:complexType name="modify">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="setPassword" type="tns:setPassword"/>
>> −
>> <xs:complexType name="setPassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>>  type="tns:SetPasswordRequestType"/> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="resetPassword" type="tns:resetPassword"/>
>> −
>> <xs:complexType name="resetPassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:ResetPasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> </xs:schema>
>> </wsdl:types>
>> −
>> <wsdl:message name="resetPasswordResponse">
>> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="modifyResponse">
>> <wsdl:part element="tns:modifyResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="delete">
>> <wsdl:part element="tns:delete" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="setPassword">
>> <wsdl:part element="tns:setPassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="deleteResponse">
>> <wsdl:part element="tns:deleteResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="setPasswordResponse">
>> <wsdl:part element="tns:setPasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="validatePasswordResponse">
>> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="lookupResponse">
>> <wsdl:part element="tns:lookupResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="testConnection">
>> <wsdl:part element="tns:testConnection" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="modify">
>> <wsdl:part element="tns:modify" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="testConnectionResponse">
>> <wsdl:part element="tns:testConnectionResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="add">
>> <wsdl:part element="tns:add" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="expirePasswordResponse">
>> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="lookup">
>> <wsdl:part element="tns:lookup" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="addResponse">
>> <wsdl:part element="tns:addResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="expirePassword">
>> <wsdl:part element="tns:expirePassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="validatePassword">
>> <wsdl:part element="tns:validatePassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="resetPassword">
>> <wsdl:part element="tns:resetPassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:portType name="ConnectorService">
>> −
>> <wsdl:operation name="add">
>> <wsdl:input message="tns:add" name="add">
>> </wsdl:input>
>> <wsdl:output message="tns:addResponse" name="addResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="testConnection">
>> <wsdl:input message="tns:testConnection" name="testConnection">
>> </wsdl:input>
>> <wsdl:output message="tns:testConnectionResponse"
>> name="testConnectionResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="expirePassword">
>> <wsdl:input message="tns:expirePassword" name="expirePassword">
>> </wsdl:input>
>> <wsdl:output message="tns:expirePasswordResponse"
>> name="expirePasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="lookup">
>> <wsdl:input message="tns:lookup" name="lookup">
>> </wsdl:input>
>> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="delete">
>> <wsdl:input message="tns:delete" name="delete">
>> </wsdl:input>
>> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="validatePassword">
>> <wsdl:input message="tns:validatePassword" name="validatePassword">
>> </wsdl:input>
>> <wsdl:output message="tns:validatePasswordResponse"
>> name="validatePasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="modify">
>> <wsdl:input message="tns:modify" name="modify">
>> </wsdl:input>
>> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="setPassword">
>> <wsdl:input message="tns:setPassword" name="setPassword">
>> </wsdl:input>
>> <wsdl:output message="tns:setPasswordResponse" name="setPasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="resetPassword">
>> <wsdl:input message="tns:resetPassword" name="resetPassword">
>> </wsdl:input>
>> <wsdl:output message="tns:resetPasswordResponse"
>> name="resetPasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:portType>
>> −
>> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
>> type="tns:ConnectorService">
>> <soap:binding style="document"
>> transport="http://schemas.xmlsoap.org/soap/http"/>
>> −
>> <wsdl:operation name="add">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="add">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="addResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="testConnection">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="testConnection">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="testConnectionResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="expirePassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="expirePassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="expirePasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="lookup">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="lookup">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="lookupResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="delete">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="delete">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="deleteResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="validatePassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="validatePassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="validatePasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="modify">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="modify">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="modifyResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="setPassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="setPassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="setPasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="resetPassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="resetPassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="resetPasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:binding>
>> −
>> <wsdl:service name="ExampleConnectorService">
>> −
>> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
>> name="ExampleConnectorServicePort">
>> <soap:address
>> location="http://localhost:8080/idm-connector-ws/ExampleConnectorService"/>
>> </wsdl:port>
>> </wsdl:service>
>> </wsdl:definitions>
>>
>>     
>
>   

Re: Unmarshalling Error

Posted by Daniel Kulp <dk...@apache.org>.
On Mon November 9 2009 1:47:00 am Suneet Shah wrote:
> Hello:
> 
> I am getting an unmarshalling error when I am calling my service.
> However, the error only occurs when I turn on schema validation. It does
> not occur when schema validation has been turned off. I have pasted my
> client code, exception and wsdl below.

You don't say if the validation error is on the client side or server side.  
I'll assume server side.

> Any suggestions on what could be wrong, would be greatly appreciated.

Make sure  you have ASM on the classpath on the server side, preferably on 
both sides.    

Judging from the soap message, I'm going to assume this is a "java first" case 
and the client is not using types and interfaces that are generated from the 
wsdl2java tool run on the wsdl.   Correct?    I assume the server side is the 
same way?    If so, DEFINITELY stick ASM there.    

Dan




> 
> Regards
> Suneet
> 
> 
> 
> Client Code:
> 
> Service service =
> Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/Exampl
> eConnectorService"));
> 
> service.addPort(new
> QName("http://www.openiam.org/service/connector","ExampleConnectorServicePo
> rt"), SOAPBinding.SOAP11HTTP_BINDING,
> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
> 
> ConnectorService port = service.getPort(new
> QName("http://www.openiam.org/service/connector","ExampleConnectorServicePo
> rt"),
> 
> ConnectorService.class);
> 
> 
> log.info("connector service client " + port);
> 
> AddRequestType addReqType = new AddRequestType();
> PSOIdentifierType idType = new
> PSOIdentifierType(lg.getId().getLogin(),null, "target");
> addReqType.setPsoID(idType);
> addReqType.setRequestID("R4589");
> addReqType.setTargetID(lg.getId().getManagedSysId());
> 
> ExtensibleUser extUser = new ExtensibleUser();
> extUser.setName(user.getFirstName() + " " + user.getLastName());
> extUser.getAttributes().add(new
> ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));
> 
> addReqType.getData().getAny().add(extUser);
> 
> port.add(addReqType);
> 
> Exception:
> 
> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the
> declaration of element 'reqType'. Location: line 4
> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
> find the declaration of element 'reqType'.
> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
> java:661)
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:5
> 33) at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>  at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInte
> rceptor.java:238) at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteral
> InInterceptor.java:117) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.java:236) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO
> bserver.java:104)
> 
> Generated Request:
> 
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
> <reqType targetID="102" requestID="R4589"
> xmlns="http://www.openiam.org/service/connector">
> <psoID targetID="target" ID="test01.user04a"/>
> <data>
> <extensibleUser>
> <name>Test User03</name>
> <operation>0</operation>
> <attributes>
> <name>cn</name>
> <value>Test User03</value>
> <operation>1</operation>
> </attributes>
> </extensibleUser>
> </data>
> </reqType>
> </ns1:add>
> </soap:Body>
> </soap:Envelope>
> 
> WSDL:
> 
> 
> <wsdl:definitions name="ExampleConnectorService"
> targetNamespace="http://www.openiam.org/service/connector">
> −
> <wsdl:types>
> −
> <xs:schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> targetNamespace="http://www.openiam.org/service/connector">
> <xs:element name="addRequest" type="tns:AddRequestType"/>
> <xs:element name="addResponse" type="tns:AddResponseType"/>
> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
> <xs:element name="deleteResponse" type="tns:ResponseType"/>
> <xs:element name="expirePasswordRequest"
> type="tns:ExpirePasswordRequestType"/>
> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
> <xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
> <xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
> <xs:element name="resetPasswordRequest"
> type="tns:ResetPasswordRequestType"/>
> <xs:element name="resetPasswordResponse"
> type="tns:ResetPasswordResponseType"/>
> <xs:element name="select" type="tns:SelectionType"/>
> <xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
> <xs:element name="setPasswordResponse" type="tns:ResponseType"/>
> <xs:element name="validatePasswordRequest"
> type="tns:ValidatePasswordRequestType"/>
> <xs:element name="validatePasswordResponse"
> type="tns:ValidatePasswordResponseType"/>
> −
> <xs:complexType name="ExtensibleType">
> −
> <xs:sequence>
> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
> processContents="lax"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:complexType>
> −
> <xs:complexType name="SelectionType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:QueryClauseType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0"
> name="namespacePrefixMap" nillable="true"
> type="tns:NamespacePrefixMappingType"/>
> </xs:sequence>
> <xs:attribute name="path" type="xs:string" use="required"/>
> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="QueryClauseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="NamespacePrefixMappingType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="prefix" type="xs:string" use="required"/>
> <xs:attribute name="namespace" type="xs:string" use="required"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="AddRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
> <xs:element name="data" type="tns:ExtensibleType"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> nillable="true" type="tns:CapabilityDataType"/>
> </xs:sequence>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="RequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="requestID" type="xs:ID"/>
> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="PSOIdentifierType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:IdentifierType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="IdentifierType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="ID" type="xs:string"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="CapabilityDataType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="LookupRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ListTargetsRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> <xs:sequence/>
> <xs:attribute name="profile" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="DeleteRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="recursive" type="xs:boolean"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ModifyRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element maxOccurs="unbounded" name="modification"
> type="tns:ModificationType"/>
> </xs:sequence>
> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ModificationType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> nillable="true" type="tns:CapabilityDataType"/>
> </xs:sequence>
> <xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="CapabilityType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
> nillable="true" type="tns:SchemaEntityRefType"/>
> </xs:sequence>
> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
> <xs:attribute name="location" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="SchemaEntityRefType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:attribute name="entityName" type="xs:string"/>
> <xs:attribute name="isContainer" type="xs:boolean"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ModifyResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
> nillable="true" type="xs:string"/>
> </xs:sequence>
> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
> <xs:attribute name="requestID" type="xs:ID"/>
> <xs:attribute name="error" type="tns:ErrorCode"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="PSOType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> nillable="true" type="tns:CapabilityDataType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="AddResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ListTargetsResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
> nillable="true" type="tns:TargetType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="TargetType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
> <xs:element minOccurs="0" name="capabilities"
> type="tns:CapabilitiesListType"/>
> </xs:sequence>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:attribute name="profile" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="SchemaType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0"
> name="supportedSchemaEntity" nillable="true"
> type="tns:SchemaEntityRefType"/>
> </xs:sequence>
> <xs:attribute name="ref" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="CapabilitiesListType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
> nillable="true" type="tns:CapabilityType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="LookupResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleUser">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
> nillable="true" type="tns:ExtensibleObject"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
> nillable="true" type="tns:ExtensibleObject"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
> nillable="true" type="tns:ExtensibleObject"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
> nillable="true" type="tns:ExtensibleGroup"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
> nillable="true" type="tns:ExtensibleRole"/>
> </xs:sequence>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleObject">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
> <xs:element minOccurs="0" name="name" type="xs:string"/>
> <xs:element name="operation" type="xs:int"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
> nillable="true" type="tns:ExtensibleAttribute"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleAttribute">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="name" type="xs:string"/>
> <xs:element minOccurs="0" name="value" type="xs:string"/>
> <xs:element name="operation" type="xs:int"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleGroup">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> <xs:sequence/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleRole">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> <xs:sequence/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExpirePasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="remainingLogins" type="xs:int"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ValidatePasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element name="password" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ValidatePasswordResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> <xs:sequence/>
> <xs:attribute name="valid" type="xs:boolean"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="SetPasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element name="password" type="xs:string"/>
> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ResetPasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ResetPasswordResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="password" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:simpleType name="ReturnDataType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="identifier"/>
> <xs:enumeration value="data"/>
> <xs:enumeration value="everything"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="ExecutionModeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="synchronous"/>
> <xs:enumeration value="asynchronous"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="ModificationModeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="add"/>
> <xs:enumeration value="replace"/>
> <xs:enumeration value="delete"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="StatusCodeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="success"/>
> <xs:enumeration value="failure"/>
> <xs:enumeration value="pending"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="ErrorCode">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="malformedRequest"/>
> <xs:enumeration value="unsupportedOperation"/>
> <xs:enumeration value="unsupportedIdentifierType"/>
> <xs:enumeration value="noSuchIdentifier"/>
> <xs:enumeration value="customError"/>
> <xs:enumeration value="unsupportedExecutionMode"/>
> <xs:enumeration value="invalidContainment"/>
> <xs:enumeration value="noSuchRequest"/>
> <xs:enumeration value="unsupportedSelectionType"/>
> <xs:enumeration value="resultSetToLarge"/>
> <xs:enumeration value="unsupportedProfile"/>
> <xs:enumeration value="invalidIdentifier"/>
> <xs:enumeration value="alreadyExists"/>
> <xs:enumeration value="containerNotEmpty"/>
> </xs:restriction>
> </xs:simpleType>
> <xs:element name="add" type="tns:add"/>
> −
> <xs:complexType name="add">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="testConnection" type="tns:testConnection"/>
> −
> <xs:complexType name="testConnection">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="testConnectionResponse"
> type="tns:testConnectionResponse"/>
> −
> <xs:complexType name="testConnectionResponse">
> −
> <xs:sequence>
> <xs:element name="return" type="xs:boolean"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="expirePassword" type="tns:expirePassword"/>
> −
> <xs:complexType name="expirePassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ExpirePasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="lookup" type="tns:lookup"/>
> −
> <xs:complexType name="lookup">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="delete" type="tns:delete"/>
> −
> <xs:complexType name="delete">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="validatePassword" type="tns:validatePassword"/>
> −
> <xs:complexType name="validatePassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ValidatePasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="modify" type="tns:modify"/>
> −
> <xs:complexType name="modify">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="setPassword" type="tns:setPassword"/>
> −
> <xs:complexType name="setPassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
>  type="tns:SetPasswordRequestType"/> </xs:sequence>
> </xs:complexType>
> <xs:element name="resetPassword" type="tns:resetPassword"/>
> −
> <xs:complexType name="resetPassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ResetPasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> </xs:schema>
> </wsdl:types>
> −
> <wsdl:message name="resetPasswordResponse">
> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="modifyResponse">
> <wsdl:part element="tns:modifyResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="delete">
> <wsdl:part element="tns:delete" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="setPassword">
> <wsdl:part element="tns:setPassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="deleteResponse">
> <wsdl:part element="tns:deleteResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="setPasswordResponse">
> <wsdl:part element="tns:setPasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="validatePasswordResponse">
> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="lookupResponse">
> <wsdl:part element="tns:lookupResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="testConnection">
> <wsdl:part element="tns:testConnection" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="modify">
> <wsdl:part element="tns:modify" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="testConnectionResponse">
> <wsdl:part element="tns:testConnectionResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="add">
> <wsdl:part element="tns:add" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="expirePasswordResponse">
> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="lookup">
> <wsdl:part element="tns:lookup" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="addResponse">
> <wsdl:part element="tns:addResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="expirePassword">
> <wsdl:part element="tns:expirePassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="validatePassword">
> <wsdl:part element="tns:validatePassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="resetPassword">
> <wsdl:part element="tns:resetPassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:portType name="ConnectorService">
> −
> <wsdl:operation name="add">
> <wsdl:input message="tns:add" name="add">
> </wsdl:input>
> <wsdl:output message="tns:addResponse" name="addResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="testConnection">
> <wsdl:input message="tns:testConnection" name="testConnection">
> </wsdl:input>
> <wsdl:output message="tns:testConnectionResponse"
> name="testConnectionResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="expirePassword">
> <wsdl:input message="tns:expirePassword" name="expirePassword">
> </wsdl:input>
> <wsdl:output message="tns:expirePasswordResponse"
> name="expirePasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="lookup">
> <wsdl:input message="tns:lookup" name="lookup">
> </wsdl:input>
> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="delete">
> <wsdl:input message="tns:delete" name="delete">
> </wsdl:input>
> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="validatePassword">
> <wsdl:input message="tns:validatePassword" name="validatePassword">
> </wsdl:input>
> <wsdl:output message="tns:validatePasswordResponse"
> name="validatePasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="modify">
> <wsdl:input message="tns:modify" name="modify">
> </wsdl:input>
> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="setPassword">
> <wsdl:input message="tns:setPassword" name="setPassword">
> </wsdl:input>
> <wsdl:output message="tns:setPasswordResponse" name="setPasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="resetPassword">
> <wsdl:input message="tns:resetPassword" name="resetPassword">
> </wsdl:input>
> <wsdl:output message="tns:resetPasswordResponse"
> name="resetPasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> </wsdl:portType>
> −
> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
> type="tns:ConnectorService">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> −
> <wsdl:operation name="add">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="add">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="addResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="testConnection">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="testConnection">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="testConnectionResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="expirePassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="expirePassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="expirePasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="lookup">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="lookup">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="lookupResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="delete">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="delete">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="deleteResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="validatePassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="validatePassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="validatePasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="modify">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="modify">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="modifyResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="setPassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="setPassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="setPasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="resetPassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="resetPassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="resetPasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> −
> <wsdl:service name="ExampleConnectorService">
> −
> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
> name="ExampleConnectorServicePort">
> <soap:address
> location="http://localhost:8080/idm-connector-ws/ExampleConnectorService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Re: Unmarshalling Error

Posted by Benson Margulies <bi...@gmail.com>.
Hmm. We're going to need a remark from Dan if at all possible at this point.
I might suggest that you try a snapshot, insofar as he made some recent
trunk changes to schema validation.


On Mon, Nov 9, 2009 at 9:12 AM, Suneet Shah <su...@gmail.com>wrote:

> I am using 2.2.4
>
>
> Benson Margulies wrote:
>
>> What version of CXF?
>>
>> On Mon, Nov 9, 2009 at 1:47 AM, Suneet Shah <suneetshah2000@gmail.com
>> >wrote:
>>
>>
>>
>>> Hello:
>>>
>>> I am getting an unmarshalling error when I am calling my service.
>>> However,
>>> the error only occurs when I turn on schema validation. It does not occur
>>> when schema validation has been turned off. I have pasted my client code,
>>> exception and wsdl below.
>>>
>>> Any suggestions on what could be wrong, would be greatly appreciated.
>>>
>>> Regards
>>> Suneet
>>>
>>>
>>>
>>> Client Code:
>>>
>>> Service service = Service.create(QName.valueOf("
>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService"));
>>>
>>> service.addPort(new QName("http://www.openiam.org/service/connector
>>> ","ExampleConnectorServicePort"),
>>> SOAPBinding.SOAP11HTTP_BINDING,
>>> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
>>>
>>> ConnectorService port = service.getPort(new QName("
>>> http://www.openiam.org/service/connector
>>> ","ExampleConnectorServicePort"),
>>> ConnectorService.class);
>>>
>>>
>>> log.info("connector service client " + port);
>>>
>>> AddRequestType addReqType = new AddRequestType();
>>> PSOIdentifierType idType = new
>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>> addReqType.setPsoID(idType);
>>> addReqType.setRequestID("R4589");
>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>
>>> ExtensibleUser extUser = new ExtensibleUser();
>>> extUser.setName(user.getFirstName() + " " + user.getLastName());
>>> extUser.getAttributes().add(new
>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>> user.getLastName()));
>>>
>>> addReqType.getData().getAny().add(extUser);
>>>
>>> port.add(addReqType);
>>>
>>> Exception:
>>>
>>> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the
>>> declaration of element 'reqType'. Location: line 4
>>> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
>>> doIntercept
>>> WARNING: Interceptor has thrown exception, unwinding now
>>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
>>> find the declaration of element 'reqType'.
>>> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
>>> java:661)
>>> at
>>>
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>>> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>>> at
>>>
>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:238)
>>> at
>>>
>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:117)
>>> at
>>>
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>> at
>>>
>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104)
>>>
>>> Generated Request:
>>>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>> <soap:Body>
>>> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
>>> <reqType targetID="102" requestID="R4589" xmlns="
>>> http://www.openiam.org/service/connector">
>>> <psoID targetID="target" ID="test01.user04a"/>
>>> <data>
>>> <extensibleUser>
>>> <name>Test User03</name>
>>> <operation>0</operation>
>>> <attributes>
>>> <name>cn</name>
>>> <value>Test User03</value>
>>> <operation>1</operation>
>>> </attributes>
>>> </extensibleUser>
>>> </data>
>>> </reqType>
>>> </ns1:add>
>>> </soap:Body>
>>> </soap:Envelope>
>>>
>>> WSDL:
>>>
>>>
>>> <wsdl:definitions name="ExampleConnectorService" targetNamespace="
>>> http://www.openiam.org/service/connector">
>>> −
>>> <wsdl:types>
>>> −
>>> <xs:schema attributeFormDefault="unqualified"
>>> elementFormDefault="qualified" targetNamespace="
>>> http://www.openiam.org/service/connector">
>>> <xs:element name="addRequest" type="tns:AddRequestType"/>
>>> <xs:element name="addResponse" type="tns:AddResponseType"/>
>>> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
>>> <xs:element name="deleteResponse" type="tns:ResponseType"/>
>>> <xs:element name="expirePasswordRequest"
>>> type="tns:ExpirePasswordRequestType"/>
>>> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
>>> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
>>> <xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
>>> <xs:element name="listTargetsResponse"
>>> type="tns:ListTargetsResponseType"/>
>>> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
>>> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
>>> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
>>> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
>>> <xs:element name="resetPasswordRequest"
>>> type="tns:ResetPasswordRequestType"/>
>>> <xs:element name="resetPasswordResponse"
>>> type="tns:ResetPasswordResponseType"/>
>>> <xs:element name="select" type="tns:SelectionType"/>
>>> <xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
>>> <xs:element name="setPasswordResponse" type="tns:ResponseType"/>
>>> <xs:element name="validatePasswordRequest"
>>> type="tns:ValidatePasswordRequestType"/>
>>> <xs:element name="validatePasswordResponse"
>>> type="tns:ValidatePasswordResponseType"/>
>>> −
>>> <xs:complexType name="ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
>>> processContents="lax"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="SelectionType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:QueryClauseType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="namespacePrefixMap"
>>> nillable="true" type="tns:NamespacePrefixMappingType"/>
>>> </xs:sequence>
>>> <xs:attribute name="path" type="xs:string" use="required"/>
>>> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="QueryClauseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> <xs:sequence/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="NamespacePrefixMappingType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> <xs:sequence/>
>>> <xs:attribute name="prefix" type="xs:string" use="required"/>
>>> <xs:attribute name="namespace" type="xs:string" use="required"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="AddRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
>>> <xs:element minOccurs="0" name="containerID"
>>> type="tns:PSOIdentifierType"/>
>>> <xs:element name="data" type="tns:ExtensibleType"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>>> nillable="true" type="tns:CapabilityDataType"/>
>>> </xs:sequence>
>>> <xs:attribute name="targetID" type="xs:string"/>
>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="RequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> <xs:sequence/>
>>> <xs:attribute name="requestID" type="xs:ID"/>
>>> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="PSOIdentifierType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:IdentifierType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="containerID"
>>> type="tns:PSOIdentifierType"/>
>>> </xs:sequence>
>>> <xs:attribute name="targetID" type="xs:string"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="IdentifierType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> <xs:sequence/>
>>> <xs:attribute name="ID" type="xs:string"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="CapabilityDataType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> <xs:sequence/>
>>> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
>>> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="LookupRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> </xs:sequence>
>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ListTargetsRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> <xs:sequence/>
>>> <xs:attribute name="profile" type="xs:anyURI"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="DeleteRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> </xs:sequence>
>>> <xs:attribute name="recursive" type="xs:boolean"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ModifyRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> <xs:element maxOccurs="unbounded" name="modification"
>>> type="tns:ModificationType"/>
>>> </xs:sequence>
>>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ModificationType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
>>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>>> nillable="true" type="tns:CapabilityDataType"/>
>>> </xs:sequence>
>>> <xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="CapabilityType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
>>> nillable="true" type="tns:SchemaEntityRefType"/>
>>> </xs:sequence>
>>> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
>>> <xs:attribute name="location" type="xs:anyURI"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="SchemaEntityRefType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> <xs:sequence/>
>>> <xs:attribute name="targetID" type="xs:string"/>
>>> <xs:attribute name="entityName" type="xs:string"/>
>>> <xs:attribute name="isContainer" type="xs:boolean"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ModifyResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ResponseType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
>>> nillable="true" type="xs:string"/>
>>> </xs:sequence>
>>> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
>>> <xs:attribute name="requestID" type="xs:ID"/>
>>> <xs:attribute name="error" type="tns:ErrorCode"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="PSOType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>>> nillable="true" type="tns:CapabilityDataType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="AddResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ResponseType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ListTargetsResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ResponseType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
>>> nillable="true" type="tns:TargetType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="TargetType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
>>> <xs:element minOccurs="0" name="capabilities"
>>> type="tns:CapabilitiesListType"/>
>>> </xs:sequence>
>>> <xs:attribute name="targetID" type="xs:string"/>
>>> <xs:attribute name="profile" type="xs:anyURI"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="SchemaType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0"
>>> name="supportedSchemaEntity" nillable="true"
>>> type="tns:SchemaEntityRefType"/>
>>> </xs:sequence>
>>> <xs:attribute name="ref" type="xs:anyURI"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="CapabilitiesListType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleType">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
>>> nillable="true" type="tns:CapabilityType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="LookupResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ResponseType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ExtensibleUser">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleObject">
>>> −
>>> <xs:sequence>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
>>> nillable="true" type="tns:ExtensibleObject"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
>>> nillable="true" type="tns:ExtensibleObject"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
>>> nillable="true" type="tns:ExtensibleObject"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
>>> nillable="true" type="tns:ExtensibleGroup"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="role"
>>> nillable="true"
>>> type="tns:ExtensibleRole"/>
>>> </xs:sequence>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ExtensibleObject">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
>>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>>> <xs:element name="operation" type="xs:int"/>
>>> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
>>> nillable="true" type="tns:ExtensibleAttribute"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ExtensibleAttribute">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>>> <xs:element minOccurs="0" name="value" type="xs:string"/>
>>> <xs:element name="operation" type="xs:int"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ExtensibleGroup">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleObject">
>>> <xs:sequence/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ExtensibleRole">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ExtensibleObject">
>>> <xs:sequence/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ExpirePasswordRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> </xs:sequence>
>>> <xs:attribute name="remainingLogins" type="xs:int"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ValidatePasswordRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> <xs:element name="password" type="xs:string"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ValidatePasswordResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ResponseType">
>>> <xs:sequence/>
>>> <xs:attribute name="valid" type="xs:boolean"/>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="SetPasswordRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> <xs:element name="password" type="xs:string"/>
>>> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ResetPasswordRequestType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:RequestType">
>>> −
>>> <xs:sequence>
>>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:complexType name="ResetPasswordResponseType">
>>> −
>>> <xs:complexContent>
>>> −
>>> <xs:extension base="tns:ResponseType">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="password" type="xs:string"/>
>>> </xs:sequence>
>>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>>> </xs:extension>
>>> </xs:complexContent>
>>> </xs:complexType>
>>> −
>>> <xs:simpleType name="ReturnDataType">
>>> −
>>> <xs:restriction base="xs:string">
>>> <xs:enumeration value="identifier"/>
>>> <xs:enumeration value="data"/>
>>> <xs:enumeration value="everything"/>
>>> </xs:restriction>
>>> </xs:simpleType>
>>> −
>>> <xs:simpleType name="ExecutionModeType">
>>> −
>>> <xs:restriction base="xs:string">
>>> <xs:enumeration value="synchronous"/>
>>> <xs:enumeration value="asynchronous"/>
>>> </xs:restriction>
>>> </xs:simpleType>
>>> −
>>> <xs:simpleType name="ModificationModeType">
>>> −
>>> <xs:restriction base="xs:string">
>>> <xs:enumeration value="add"/>
>>> <xs:enumeration value="replace"/>
>>> <xs:enumeration value="delete"/>
>>> </xs:restriction>
>>> </xs:simpleType>
>>> −
>>> <xs:simpleType name="StatusCodeType">
>>> −
>>> <xs:restriction base="xs:string">
>>> <xs:enumeration value="success"/>
>>> <xs:enumeration value="failure"/>
>>> <xs:enumeration value="pending"/>
>>> </xs:restriction>
>>> </xs:simpleType>
>>> −
>>> <xs:simpleType name="ErrorCode">
>>> −
>>> <xs:restriction base="xs:string">
>>> <xs:enumeration value="malformedRequest"/>
>>> <xs:enumeration value="unsupportedOperation"/>
>>> <xs:enumeration value="unsupportedIdentifierType"/>
>>> <xs:enumeration value="noSuchIdentifier"/>
>>> <xs:enumeration value="customError"/>
>>> <xs:enumeration value="unsupportedExecutionMode"/>
>>> <xs:enumeration value="invalidContainment"/>
>>> <xs:enumeration value="noSuchRequest"/>
>>> <xs:enumeration value="unsupportedSelectionType"/>
>>> <xs:enumeration value="resultSetToLarge"/>
>>> <xs:enumeration value="unsupportedProfile"/>
>>> <xs:enumeration value="invalidIdentifier"/>
>>> <xs:enumeration value="alreadyExists"/>
>>> <xs:enumeration value="containerNotEmpty"/>
>>> </xs:restriction>
>>> </xs:simpleType>
>>> <xs:element name="add" type="tns:add"/>
>>> −
>>> <xs:complexType name="add">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="testConnection" type="tns:testConnection"/>
>>> −
>>> <xs:complexType name="testConnection">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="testConnectionResponse"
>>> type="tns:testConnectionResponse"/>
>>> −
>>> <xs:complexType name="testConnectionResponse">
>>> −
>>> <xs:sequence>
>>> <xs:element name="return" type="xs:boolean"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="expirePassword" type="tns:expirePassword"/>
>>> −
>>> <xs:complexType name="expirePassword">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="request"
>>> type="tns:ExpirePasswordRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="lookup" type="tns:lookup"/>
>>> −
>>> <xs:complexType name="lookup">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="delete" type="tns:delete"/>
>>> −
>>> <xs:complexType name="delete">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="validatePassword" type="tns:validatePassword"/>
>>> −
>>> <xs:complexType name="validatePassword">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="request"
>>> type="tns:ValidatePasswordRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="modify" type="tns:modify"/>
>>> −
>>> <xs:complexType name="modify">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="setPassword" type="tns:setPassword"/>
>>> −
>>> <xs:complexType name="setPassword">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="request"
>>> type="tns:SetPasswordRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> <xs:element name="resetPassword" type="tns:resetPassword"/>
>>> −
>>> <xs:complexType name="resetPassword">
>>> −
>>> <xs:sequence>
>>> <xs:element minOccurs="0" name="request"
>>> type="tns:ResetPasswordRequestType"/>
>>> </xs:sequence>
>>> </xs:complexType>
>>> </xs:schema>
>>> </wsdl:types>
>>> −
>>> <wsdl:message name="resetPasswordResponse">
>>> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="modifyResponse">
>>> <wsdl:part element="tns:modifyResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="delete">
>>> <wsdl:part element="tns:delete" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="setPassword">
>>> <wsdl:part element="tns:setPassword" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="deleteResponse">
>>> <wsdl:part element="tns:deleteResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="setPasswordResponse">
>>> <wsdl:part element="tns:setPasswordResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="validatePasswordResponse">
>>> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="lookupResponse">
>>> <wsdl:part element="tns:lookupResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="testConnection">
>>> <wsdl:part element="tns:testConnection" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="modify">
>>> <wsdl:part element="tns:modify" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="testConnectionResponse">
>>> <wsdl:part element="tns:testConnectionResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="add">
>>> <wsdl:part element="tns:add" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="expirePasswordResponse">
>>> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="lookup">
>>> <wsdl:part element="tns:lookup" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="addResponse">
>>> <wsdl:part element="tns:addResponse" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="expirePassword">
>>> <wsdl:part element="tns:expirePassword" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="validatePassword">
>>> <wsdl:part element="tns:validatePassword" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:message name="resetPassword">
>>> <wsdl:part element="tns:resetPassword" name="parameters">
>>> </wsdl:part>
>>> </wsdl:message>
>>> −
>>> <wsdl:portType name="ConnectorService">
>>> −
>>> <wsdl:operation name="add">
>>> <wsdl:input message="tns:add" name="add">
>>> </wsdl:input>
>>> <wsdl:output message="tns:addResponse" name="addResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="testConnection">
>>> <wsdl:input message="tns:testConnection" name="testConnection">
>>> </wsdl:input>
>>> <wsdl:output message="tns:testConnectionResponse"
>>> name="testConnectionResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="expirePassword">
>>> <wsdl:input message="tns:expirePassword" name="expirePassword">
>>> </wsdl:input>
>>> <wsdl:output message="tns:expirePasswordResponse"
>>> name="expirePasswordResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="lookup">
>>> <wsdl:input message="tns:lookup" name="lookup">
>>> </wsdl:input>
>>> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="delete">
>>> <wsdl:input message="tns:delete" name="delete">
>>> </wsdl:input>
>>> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="validatePassword">
>>> <wsdl:input message="tns:validatePassword" name="validatePassword">
>>> </wsdl:input>
>>> <wsdl:output message="tns:validatePasswordResponse"
>>> name="validatePasswordResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="modify">
>>> <wsdl:input message="tns:modify" name="modify">
>>> </wsdl:input>
>>> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="setPassword">
>>> <wsdl:input message="tns:setPassword" name="setPassword">
>>> </wsdl:input>
>>> <wsdl:output message="tns:setPasswordResponse"
>>> name="setPasswordResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="resetPassword">
>>> <wsdl:input message="tns:resetPassword" name="resetPassword">
>>> </wsdl:input>
>>> <wsdl:output message="tns:resetPasswordResponse"
>>> name="resetPasswordResponse">
>>> </wsdl:output>
>>> </wsdl:operation>
>>> </wsdl:portType>
>>> −
>>> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
>>> type="tns:ConnectorService">
>>> <soap:binding style="document" transport="
>>> http://schemas.xmlsoap.org/soap/http"/>
>>> −
>>> <wsdl:operation name="add">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="add">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="addResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="testConnection">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="testConnection">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="testConnectionResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="expirePassword">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="expirePassword">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="expirePasswordResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="lookup">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="lookup">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="lookupResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="delete">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="delete">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="deleteResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="validatePassword">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="validatePassword">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="validatePasswordResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="modify">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="modify">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="modifyResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="setPassword">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="setPassword">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="setPasswordResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> −
>>> <wsdl:operation name="resetPassword">
>>> <soap:operation soapAction="" style="document"/>
>>> −
>>> <wsdl:input name="resetPassword">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> −
>>> <wsdl:output name="resetPasswordResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> </wsdl:operation>
>>> </wsdl:binding>
>>> −
>>> <wsdl:service name="ExampleConnectorService">
>>> −
>>> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
>>> name="ExampleConnectorServicePort">
>>> <soap:address location="
>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService"/>
>>> </wsdl:port>
>>> </wsdl:service>
>>> </wsdl:definitions>
>>>
>>>
>>>
>>
>>
>>
>

Re: Unmarshalling Error

Posted by Suneet Shah <su...@gmail.com>.
I am using 2.2.4

Benson Margulies wrote:
> What version of CXF?
>
> On Mon, Nov 9, 2009 at 1:47 AM, Suneet Shah <su...@gmail.com>wrote:
>
>   
>> Hello:
>>
>> I am getting an unmarshalling error when I am calling my service. However,
>> the error only occurs when I turn on schema validation. It does not occur
>> when schema validation has been turned off. I have pasted my client code,
>> exception and wsdl below.
>>
>> Any suggestions on what could be wrong, would be greatly appreciated.
>>
>> Regards
>> Suneet
>>
>>
>>
>> Client Code:
>>
>> Service service = Service.create(QName.valueOf("
>> http://localhost:8080/idm-connector-ws/ExampleConnectorService"));
>>
>> service.addPort(new QName("http://www.openiam.org/service/connector
>> ","ExampleConnectorServicePort"),
>> SOAPBinding.SOAP11HTTP_BINDING,
>> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
>>
>> ConnectorService port = service.getPort(new QName("
>> http://www.openiam.org/service/connector","ExampleConnectorServicePort"),
>> ConnectorService.class);
>>
>>
>> log.info("connector service client " + port);
>>
>> AddRequestType addReqType = new AddRequestType();
>> PSOIdentifierType idType = new
>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>> addReqType.setPsoID(idType);
>> addReqType.setRequestID("R4589");
>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>
>> ExtensibleUser extUser = new ExtensibleUser();
>> extUser.setName(user.getFirstName() + " " + user.getLastName());
>> extUser.getAttributes().add(new
>> ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));
>>
>> addReqType.getData().getAny().add(extUser);
>>
>> port.add(addReqType);
>>
>> Exception:
>>
>> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the
>> declaration of element 'reqType'. Location: line 4
>> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
>> doIntercept
>> WARNING: Interceptor has thrown exception, unwinding now
>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
>> find the declaration of element 'reqType'.
>> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
>> java:661)
>> at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>> at
>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:238)
>> at
>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:117)
>> at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>> at
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104)
>>
>> Generated Request:
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>> <soap:Body>
>> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
>> <reqType targetID="102" requestID="R4589" xmlns="
>> http://www.openiam.org/service/connector">
>> <psoID targetID="target" ID="test01.user04a"/>
>> <data>
>> <extensibleUser>
>> <name>Test User03</name>
>> <operation>0</operation>
>> <attributes>
>> <name>cn</name>
>> <value>Test User03</value>
>> <operation>1</operation>
>> </attributes>
>> </extensibleUser>
>> </data>
>> </reqType>
>> </ns1:add>
>> </soap:Body>
>> </soap:Envelope>
>>
>> WSDL:
>>
>>
>> <wsdl:definitions name="ExampleConnectorService" targetNamespace="
>> http://www.openiam.org/service/connector">
>> −
>> <wsdl:types>
>> −
>> <xs:schema attributeFormDefault="unqualified"
>> elementFormDefault="qualified" targetNamespace="
>> http://www.openiam.org/service/connector">
>> <xs:element name="addRequest" type="tns:AddRequestType"/>
>> <xs:element name="addResponse" type="tns:AddResponseType"/>
>> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
>> <xs:element name="deleteResponse" type="tns:ResponseType"/>
>> <xs:element name="expirePasswordRequest"
>> type="tns:ExpirePasswordRequestType"/>
>> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
>> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
>> <xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
>> <xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
>> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
>> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
>> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
>> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
>> <xs:element name="resetPasswordRequest"
>> type="tns:ResetPasswordRequestType"/>
>> <xs:element name="resetPasswordResponse"
>> type="tns:ResetPasswordResponseType"/>
>> <xs:element name="select" type="tns:SelectionType"/>
>> <xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
>> <xs:element name="setPasswordResponse" type="tns:ResponseType"/>
>> <xs:element name="validatePasswordRequest"
>> type="tns:ValidatePasswordRequestType"/>
>> <xs:element name="validatePasswordResponse"
>> type="tns:ValidatePasswordResponseType"/>
>> −
>> <xs:complexType name="ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
>> processContents="lax"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:complexType>
>> −
>> <xs:complexType name="SelectionType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:QueryClauseType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="namespacePrefixMap"
>> nillable="true" type="tns:NamespacePrefixMappingType"/>
>> </xs:sequence>
>> <xs:attribute name="path" type="xs:string" use="required"/>
>> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="QueryClauseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="NamespacePrefixMappingType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="prefix" type="xs:string" use="required"/>
>> <xs:attribute name="namespace" type="xs:string" use="required"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="AddRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
>> <xs:element name="data" type="tns:ExtensibleType"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>> nillable="true" type="tns:CapabilityDataType"/>
>> </xs:sequence>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="RequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="requestID" type="xs:ID"/>
>> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="PSOIdentifierType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:IdentifierType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="IdentifierType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="ID" type="xs:string"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="CapabilityDataType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
>> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="LookupRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ListTargetsRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> <xs:sequence/>
>> <xs:attribute name="profile" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="DeleteRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="recursive" type="xs:boolean"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ModifyRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element maxOccurs="unbounded" name="modification"
>> type="tns:ModificationType"/>
>> </xs:sequence>
>> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ModificationType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>> nillable="true" type="tns:CapabilityDataType"/>
>> </xs:sequence>
>> <xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="CapabilityType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
>> nillable="true" type="tns:SchemaEntityRefType"/>
>> </xs:sequence>
>> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
>> <xs:attribute name="location" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="SchemaEntityRefType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> <xs:sequence/>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:attribute name="entityName" type="xs:string"/>
>> <xs:attribute name="isContainer" type="xs:boolean"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ModifyResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
>> nillable="true" type="xs:string"/>
>> </xs:sequence>
>> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
>> <xs:attribute name="requestID" type="xs:ID"/>
>> <xs:attribute name="error" type="tns:ErrorCode"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="PSOType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
>> nillable="true" type="tns:CapabilityDataType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="AddResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ListTargetsResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
>> nillable="true" type="tns:TargetType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="TargetType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
>> <xs:element minOccurs="0" name="capabilities"
>> type="tns:CapabilitiesListType"/>
>> </xs:sequence>
>> <xs:attribute name="targetID" type="xs:string"/>
>> <xs:attribute name="profile" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="SchemaType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0"
>> name="supportedSchemaEntity" nillable="true"
>> type="tns:SchemaEntityRefType"/>
>> </xs:sequence>
>> <xs:attribute name="ref" type="xs:anyURI"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="CapabilitiesListType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleType">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
>> nillable="true" type="tns:CapabilityType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="LookupResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleUser">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleObject">
>> −
>> <xs:sequence>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
>> nillable="true" type="tns:ExtensibleObject"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
>> nillable="true" type="tns:ExtensibleObject"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
>> nillable="true" type="tns:ExtensibleObject"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
>> nillable="true" type="tns:ExtensibleGroup"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="role" nillable="true"
>> type="tns:ExtensibleRole"/>
>> </xs:sequence>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleObject">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>> <xs:element name="operation" type="xs:int"/>
>> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
>> nillable="true" type="tns:ExtensibleAttribute"/>
>> </xs:sequence>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleAttribute">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="name" type="xs:string"/>
>> <xs:element minOccurs="0" name="value" type="xs:string"/>
>> <xs:element name="operation" type="xs:int"/>
>> </xs:sequence>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleGroup">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleObject">
>> <xs:sequence/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExtensibleRole">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ExtensibleObject">
>> <xs:sequence/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ExpirePasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:attribute name="remainingLogins" type="xs:int"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ValidatePasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element name="password" type="xs:string"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ValidatePasswordResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> <xs:sequence/>
>> <xs:attribute name="valid" type="xs:boolean"/>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="SetPasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> <xs:element name="password" type="xs:string"/>
>> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ResetPasswordRequestType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:RequestType">
>> −
>> <xs:sequence>
>> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:complexType name="ResetPasswordResponseType">
>> −
>> <xs:complexContent>
>> −
>> <xs:extension base="tns:ResponseType">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="password" type="xs:string"/>
>> </xs:sequence>
>> <xs:anyAttribute namespace="##other" processContents="skip"/>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>> −
>> <xs:simpleType name="ReturnDataType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="identifier"/>
>> <xs:enumeration value="data"/>
>> <xs:enumeration value="everything"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="ExecutionModeType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="synchronous"/>
>> <xs:enumeration value="asynchronous"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="ModificationModeType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="add"/>
>> <xs:enumeration value="replace"/>
>> <xs:enumeration value="delete"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="StatusCodeType">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="success"/>
>> <xs:enumeration value="failure"/>
>> <xs:enumeration value="pending"/>
>> </xs:restriction>
>> </xs:simpleType>
>> −
>> <xs:simpleType name="ErrorCode">
>> −
>> <xs:restriction base="xs:string">
>> <xs:enumeration value="malformedRequest"/>
>> <xs:enumeration value="unsupportedOperation"/>
>> <xs:enumeration value="unsupportedIdentifierType"/>
>> <xs:enumeration value="noSuchIdentifier"/>
>> <xs:enumeration value="customError"/>
>> <xs:enumeration value="unsupportedExecutionMode"/>
>> <xs:enumeration value="invalidContainment"/>
>> <xs:enumeration value="noSuchRequest"/>
>> <xs:enumeration value="unsupportedSelectionType"/>
>> <xs:enumeration value="resultSetToLarge"/>
>> <xs:enumeration value="unsupportedProfile"/>
>> <xs:enumeration value="invalidIdentifier"/>
>> <xs:enumeration value="alreadyExists"/>
>> <xs:enumeration value="containerNotEmpty"/>
>> </xs:restriction>
>> </xs:simpleType>
>> <xs:element name="add" type="tns:add"/>
>> −
>> <xs:complexType name="add">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="testConnection" type="tns:testConnection"/>
>> −
>> <xs:complexType name="testConnection">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="testConnectionResponse"
>> type="tns:testConnectionResponse"/>
>> −
>> <xs:complexType name="testConnectionResponse">
>> −
>> <xs:sequence>
>> <xs:element name="return" type="xs:boolean"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="expirePassword" type="tns:expirePassword"/>
>> −
>> <xs:complexType name="expirePassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:ExpirePasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="lookup" type="tns:lookup"/>
>> −
>> <xs:complexType name="lookup">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="delete" type="tns:delete"/>
>> −
>> <xs:complexType name="delete">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="validatePassword" type="tns:validatePassword"/>
>> −
>> <xs:complexType name="validatePassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:ValidatePasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="modify" type="tns:modify"/>
>> −
>> <xs:complexType name="modify">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="setPassword" type="tns:setPassword"/>
>> −
>> <xs:complexType name="setPassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:SetPasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> <xs:element name="resetPassword" type="tns:resetPassword"/>
>> −
>> <xs:complexType name="resetPassword">
>> −
>> <xs:sequence>
>> <xs:element minOccurs="0" name="request"
>> type="tns:ResetPasswordRequestType"/>
>> </xs:sequence>
>> </xs:complexType>
>> </xs:schema>
>> </wsdl:types>
>> −
>> <wsdl:message name="resetPasswordResponse">
>> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="modifyResponse">
>> <wsdl:part element="tns:modifyResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="delete">
>> <wsdl:part element="tns:delete" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="setPassword">
>> <wsdl:part element="tns:setPassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="deleteResponse">
>> <wsdl:part element="tns:deleteResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="setPasswordResponse">
>> <wsdl:part element="tns:setPasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="validatePasswordResponse">
>> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="lookupResponse">
>> <wsdl:part element="tns:lookupResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="testConnection">
>> <wsdl:part element="tns:testConnection" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="modify">
>> <wsdl:part element="tns:modify" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="testConnectionResponse">
>> <wsdl:part element="tns:testConnectionResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="add">
>> <wsdl:part element="tns:add" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="expirePasswordResponse">
>> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="lookup">
>> <wsdl:part element="tns:lookup" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="addResponse">
>> <wsdl:part element="tns:addResponse" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="expirePassword">
>> <wsdl:part element="tns:expirePassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="validatePassword">
>> <wsdl:part element="tns:validatePassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:message name="resetPassword">
>> <wsdl:part element="tns:resetPassword" name="parameters">
>> </wsdl:part>
>> </wsdl:message>
>> −
>> <wsdl:portType name="ConnectorService">
>> −
>> <wsdl:operation name="add">
>> <wsdl:input message="tns:add" name="add">
>> </wsdl:input>
>> <wsdl:output message="tns:addResponse" name="addResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="testConnection">
>> <wsdl:input message="tns:testConnection" name="testConnection">
>> </wsdl:input>
>> <wsdl:output message="tns:testConnectionResponse"
>> name="testConnectionResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="expirePassword">
>> <wsdl:input message="tns:expirePassword" name="expirePassword">
>> </wsdl:input>
>> <wsdl:output message="tns:expirePasswordResponse"
>> name="expirePasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="lookup">
>> <wsdl:input message="tns:lookup" name="lookup">
>> </wsdl:input>
>> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="delete">
>> <wsdl:input message="tns:delete" name="delete">
>> </wsdl:input>
>> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="validatePassword">
>> <wsdl:input message="tns:validatePassword" name="validatePassword">
>> </wsdl:input>
>> <wsdl:output message="tns:validatePasswordResponse"
>> name="validatePasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="modify">
>> <wsdl:input message="tns:modify" name="modify">
>> </wsdl:input>
>> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="setPassword">
>> <wsdl:input message="tns:setPassword" name="setPassword">
>> </wsdl:input>
>> <wsdl:output message="tns:setPasswordResponse" name="setPasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="resetPassword">
>> <wsdl:input message="tns:resetPassword" name="resetPassword">
>> </wsdl:input>
>> <wsdl:output message="tns:resetPasswordResponse"
>> name="resetPasswordResponse">
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:portType>
>> −
>> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
>> type="tns:ConnectorService">
>> <soap:binding style="document" transport="
>> http://schemas.xmlsoap.org/soap/http"/>
>> −
>> <wsdl:operation name="add">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="add">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="addResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="testConnection">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="testConnection">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="testConnectionResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="expirePassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="expirePassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="expirePasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="lookup">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="lookup">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="lookupResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="delete">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="delete">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="deleteResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="validatePassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="validatePassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="validatePasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="modify">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="modify">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="modifyResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="setPassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="setPassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="setPasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> −
>> <wsdl:operation name="resetPassword">
>> <soap:operation soapAction="" style="document"/>
>> −
>> <wsdl:input name="resetPassword">
>> <soap:body use="literal"/>
>> </wsdl:input>
>> −
>> <wsdl:output name="resetPasswordResponse">
>> <soap:body use="literal"/>
>> </wsdl:output>
>> </wsdl:operation>
>> </wsdl:binding>
>> −
>> <wsdl:service name="ExampleConnectorService">
>> −
>> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
>> name="ExampleConnectorServicePort">
>> <soap:address location="
>> http://localhost:8080/idm-connector-ws/ExampleConnectorService"/>
>> </wsdl:port>
>> </wsdl:service>
>> </wsdl:definitions>
>>
>>     
>
>   

Re: Unmarshalling Error

Posted by Benson Margulies <bi...@gmail.com>.
What version of CXF?

On Mon, Nov 9, 2009 at 1:47 AM, Suneet Shah <su...@gmail.com>wrote:

> Hello:
>
> I am getting an unmarshalling error when I am calling my service. However,
> the error only occurs when I turn on schema validation. It does not occur
> when schema validation has been turned off. I have pasted my client code,
> exception and wsdl below.
>
> Any suggestions on what could be wrong, would be greatly appreciated.
>
> Regards
> Suneet
>
>
>
> Client Code:
>
> Service service = Service.create(QName.valueOf("
> http://localhost:8080/idm-connector-ws/ExampleConnectorService"));
>
> service.addPort(new QName("http://www.openiam.org/service/connector
> ","ExampleConnectorServicePort"),
> SOAPBinding.SOAP11HTTP_BINDING,
> "http://localhost:8080/idm-connector-ws/ExampleConnectorService");
>
> ConnectorService port = service.getPort(new QName("
> http://www.openiam.org/service/connector","ExampleConnectorServicePort"),
> ConnectorService.class);
>
>
> log.info("connector service client " + port);
>
> AddRequestType addReqType = new AddRequestType();
> PSOIdentifierType idType = new
> PSOIdentifierType(lg.getId().getLogin(),null, "target");
> addReqType.setPsoID(idType);
> addReqType.setRequestID("R4589");
> addReqType.setTargetID(lg.getId().getManagedSysId());
>
> ExtensibleUser extUser = new ExtensibleUser();
> extUser.setName(user.getFirstName() + " " + user.getLastName());
> extUser.getAttributes().add(new
> ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));
>
> addReqType.getData().getAny().add(extUser);
>
> port.add(addReqType);
>
> Exception:
>
> DefaultValidationEventHandler: [FATAL_ERROR]: cvc-elt.1: Cannot find the
> declaration of element 'reqType'. Location: line 4
> Nov 9, 2009 1:38:40 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
> find the declaration of element 'reqType'.
> at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.
> java:661)
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
> at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:238)
> at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:117)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104)
>
> Generated Request:
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns1:add xmlns:ns1="http://www.openiam.org/service/connector">
> <reqType targetID="102" requestID="R4589" xmlns="
> http://www.openiam.org/service/connector">
> <psoID targetID="target" ID="test01.user04a"/>
> <data>
> <extensibleUser>
> <name>Test User03</name>
> <operation>0</operation>
> <attributes>
> <name>cn</name>
> <value>Test User03</value>
> <operation>1</operation>
> </attributes>
> </extensibleUser>
> </data>
> </reqType>
> </ns1:add>
> </soap:Body>
> </soap:Envelope>
>
> WSDL:
>
>
> <wsdl:definitions name="ExampleConnectorService" targetNamespace="
> http://www.openiam.org/service/connector">
> −
> <wsdl:types>
> −
> <xs:schema attributeFormDefault="unqualified"
> elementFormDefault="qualified" targetNamespace="
> http://www.openiam.org/service/connector">
> <xs:element name="addRequest" type="tns:AddRequestType"/>
> <xs:element name="addResponse" type="tns:AddResponseType"/>
> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
> <xs:element name="deleteResponse" type="tns:ResponseType"/>
> <xs:element name="expirePasswordRequest"
> type="tns:ExpirePasswordRequestType"/>
> <xs:element name="expirePasswordResponse" type="tns:ResponseType"/>
> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
> <xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
> <xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
> <xs:element name="lookupResponse" type="tns:LookupResponseType"/>
> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
> <xs:element name="modifyResponse" type="tns:ModifyResponseType"/>
> <xs:element name="resetPasswordRequest"
> type="tns:ResetPasswordRequestType"/>
> <xs:element name="resetPasswordResponse"
> type="tns:ResetPasswordResponseType"/>
> <xs:element name="select" type="tns:SelectionType"/>
> <xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
> <xs:element name="setPasswordResponse" type="tns:ResponseType"/>
> <xs:element name="validatePasswordRequest"
> type="tns:ValidatePasswordRequestType"/>
> <xs:element name="validatePasswordResponse"
> type="tns:ValidatePasswordResponseType"/>
> −
> <xs:complexType name="ExtensibleType">
> −
> <xs:sequence>
> <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
> processContents="lax"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:complexType>
> −
> <xs:complexType name="SelectionType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:QueryClauseType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="namespacePrefixMap"
> nillable="true" type="tns:NamespacePrefixMappingType"/>
> </xs:sequence>
> <xs:attribute name="path" type="xs:string" use="required"/>
> <xs:attribute name="namespaceURI" type="xs:string" use="required"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="QueryClauseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="NamespacePrefixMappingType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="prefix" type="xs:string" use="required"/>
> <xs:attribute name="namespace" type="xs:string" use="required"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="AddRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
> <xs:element name="data" type="tns:ExtensibleType"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> nillable="true" type="tns:CapabilityDataType"/>
> </xs:sequence>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="RequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="requestID" type="xs:ID"/>
> <xs:attribute name="executionMode" type="tns:ExecutionModeType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="PSOIdentifierType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:IdentifierType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="IdentifierType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="ID" type="xs:string"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="CapabilityDataType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="mustUnderstand" type="xs:boolean"/>
> <xs:attribute name="capabilityURI" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="LookupRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ListTargetsRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> <xs:sequence/>
> <xs:attribute name="profile" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="DeleteRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="recursive" type="xs:boolean"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ModifyRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element maxOccurs="unbounded" name="modification"
> type="tns:ModificationType"/>
> </xs:sequence>
> <xs:attribute name="returnData" type="tns:ReturnDataType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ModificationType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="component" type="tns:SelectionType"/>
> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> nillable="true" type="tns:CapabilityDataType"/>
> </xs:sequence>
> <xs:attribute name="modificationMode" type="tns:ModificationModeType"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="CapabilityType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo"
> nillable="true" type="tns:SchemaEntityRefType"/>
> </xs:sequence>
> <xs:attribute name="namespaceURI" type="xs:anyURI"/>
> <xs:attribute name="location" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="SchemaEntityRefType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> <xs:sequence/>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:attribute name="entityName" type="xs:string"/>
> <xs:attribute name="isContainer" type="xs:boolean"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ModifyResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage"
> nillable="true" type="xs:string"/>
> </xs:sequence>
> <xs:attribute name="status" type="tns:StatusCodeType" use="required"/>
> <xs:attribute name="requestID" type="xs:ID"/>
> <xs:attribute name="error" type="tns:ErrorCode"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="PSOType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element minOccurs="0" name="data" type="tns:ExtensibleType"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData"
> nillable="true" type="tns:CapabilityDataType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="AddResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ListTargetsResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="target"
> nillable="true" type="tns:TargetType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="TargetType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType"/>
> <xs:element minOccurs="0" name="capabilities"
> type="tns:CapabilitiesListType"/>
> </xs:sequence>
> <xs:attribute name="targetID" type="xs:string"/>
> <xs:attribute name="profile" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="SchemaType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0"
> name="supportedSchemaEntity" nillable="true"
> type="tns:SchemaEntityRefType"/>
> </xs:sequence>
> <xs:attribute name="ref" type="xs:anyURI"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="CapabilitiesListType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="capability"
> nillable="true" type="tns:CapabilityType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="LookupResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleUser">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> −
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="address"
> nillable="true" type="tns:ExtensibleObject"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="phone"
> nillable="true" type="tns:ExtensibleObject"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="email"
> nillable="true" type="tns:ExtensibleObject"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="group"
> nillable="true" type="tns:ExtensibleGroup"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="role" nillable="true"
> type="tns:ExtensibleRole"/>
> </xs:sequence>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleObject">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="objectId" type="xs:string"/>
> <xs:element minOccurs="0" name="name" type="xs:string"/>
> <xs:element name="operation" type="xs:int"/>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="attributes"
> nillable="true" type="tns:ExtensibleAttribute"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleAttribute">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="name" type="xs:string"/>
> <xs:element minOccurs="0" name="value" type="xs:string"/>
> <xs:element name="operation" type="xs:int"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleGroup">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> <xs:sequence/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleRole">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> <xs:sequence/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ExpirePasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:attribute name="remainingLogins" type="xs:int"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ValidatePasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element name="password" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ValidatePasswordResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> <xs:sequence/>
> <xs:attribute name="valid" type="xs:boolean"/>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="SetPasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element name="password" type="xs:string"/>
> <xs:element minOccurs="0" name="currentPassword" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ResetPasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="ResetPasswordResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="password" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:simpleType name="ReturnDataType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="identifier"/>
> <xs:enumeration value="data"/>
> <xs:enumeration value="everything"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="ExecutionModeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="synchronous"/>
> <xs:enumeration value="asynchronous"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="ModificationModeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="add"/>
> <xs:enumeration value="replace"/>
> <xs:enumeration value="delete"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="StatusCodeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="success"/>
> <xs:enumeration value="failure"/>
> <xs:enumeration value="pending"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <xs:simpleType name="ErrorCode">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="malformedRequest"/>
> <xs:enumeration value="unsupportedOperation"/>
> <xs:enumeration value="unsupportedIdentifierType"/>
> <xs:enumeration value="noSuchIdentifier"/>
> <xs:enumeration value="customError"/>
> <xs:enumeration value="unsupportedExecutionMode"/>
> <xs:enumeration value="invalidContainment"/>
> <xs:enumeration value="noSuchRequest"/>
> <xs:enumeration value="unsupportedSelectionType"/>
> <xs:enumeration value="resultSetToLarge"/>
> <xs:enumeration value="unsupportedProfile"/>
> <xs:enumeration value="invalidIdentifier"/>
> <xs:enumeration value="alreadyExists"/>
> <xs:enumeration value="containerNotEmpty"/>
> </xs:restriction>
> </xs:simpleType>
> <xs:element name="add" type="tns:add"/>
> −
> <xs:complexType name="add">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="testConnection" type="tns:testConnection"/>
> −
> <xs:complexType name="testConnection">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="testConnectionResponse"
> type="tns:testConnectionResponse"/>
> −
> <xs:complexType name="testConnectionResponse">
> −
> <xs:sequence>
> <xs:element name="return" type="xs:boolean"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="expirePassword" type="tns:expirePassword"/>
> −
> <xs:complexType name="expirePassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ExpirePasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="lookup" type="tns:lookup"/>
> −
> <xs:complexType name="lookup">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="delete" type="tns:delete"/>
> −
> <xs:complexType name="delete">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="validatePassword" type="tns:validatePassword"/>
> −
> <xs:complexType name="validatePassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ValidatePasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="modify" type="tns:modify"/>
> −
> <xs:complexType name="modify">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="setPassword" type="tns:setPassword"/>
> −
> <xs:complexType name="setPassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:SetPasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="resetPassword" type="tns:resetPassword"/>
> −
> <xs:complexType name="resetPassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ResetPasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> </xs:schema>
> </wsdl:types>
> −
> <wsdl:message name="resetPasswordResponse">
> <wsdl:part element="tns:resetPasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="modifyResponse">
> <wsdl:part element="tns:modifyResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="delete">
> <wsdl:part element="tns:delete" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="setPassword">
> <wsdl:part element="tns:setPassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="deleteResponse">
> <wsdl:part element="tns:deleteResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="setPasswordResponse">
> <wsdl:part element="tns:setPasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="validatePasswordResponse">
> <wsdl:part element="tns:validatePasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="lookupResponse">
> <wsdl:part element="tns:lookupResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="testConnection">
> <wsdl:part element="tns:testConnection" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="modify">
> <wsdl:part element="tns:modify" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="testConnectionResponse">
> <wsdl:part element="tns:testConnectionResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="add">
> <wsdl:part element="tns:add" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="expirePasswordResponse">
> <wsdl:part element="tns:expirePasswordResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="lookup">
> <wsdl:part element="tns:lookup" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="addResponse">
> <wsdl:part element="tns:addResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="expirePassword">
> <wsdl:part element="tns:expirePassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="validatePassword">
> <wsdl:part element="tns:validatePassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="resetPassword">
> <wsdl:part element="tns:resetPassword" name="parameters">
> </wsdl:part>
> </wsdl:message>
> −
> <wsdl:portType name="ConnectorService">
> −
> <wsdl:operation name="add">
> <wsdl:input message="tns:add" name="add">
> </wsdl:input>
> <wsdl:output message="tns:addResponse" name="addResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="testConnection">
> <wsdl:input message="tns:testConnection" name="testConnection">
> </wsdl:input>
> <wsdl:output message="tns:testConnectionResponse"
> name="testConnectionResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="expirePassword">
> <wsdl:input message="tns:expirePassword" name="expirePassword">
> </wsdl:input>
> <wsdl:output message="tns:expirePasswordResponse"
> name="expirePasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="lookup">
> <wsdl:input message="tns:lookup" name="lookup">
> </wsdl:input>
> <wsdl:output message="tns:lookupResponse" name="lookupResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="delete">
> <wsdl:input message="tns:delete" name="delete">
> </wsdl:input>
> <wsdl:output message="tns:deleteResponse" name="deleteResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="validatePassword">
> <wsdl:input message="tns:validatePassword" name="validatePassword">
> </wsdl:input>
> <wsdl:output message="tns:validatePasswordResponse"
> name="validatePasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="modify">
> <wsdl:input message="tns:modify" name="modify">
> </wsdl:input>
> <wsdl:output message="tns:modifyResponse" name="modifyResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="setPassword">
> <wsdl:input message="tns:setPassword" name="setPassword">
> </wsdl:input>
> <wsdl:output message="tns:setPasswordResponse" name="setPasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="resetPassword">
> <wsdl:input message="tns:resetPassword" name="resetPassword">
> </wsdl:input>
> <wsdl:output message="tns:resetPasswordResponse"
> name="resetPasswordResponse">
> </wsdl:output>
> </wsdl:operation>
> </wsdl:portType>
> −
> <wsdl:binding name="ExampleConnectorServiceSoapBinding"
> type="tns:ConnectorService">
> <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/>
> −
> <wsdl:operation name="add">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="add">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="addResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="testConnection">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="testConnection">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="testConnectionResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="expirePassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="expirePassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="expirePasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="lookup">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="lookup">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="lookupResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="delete">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="delete">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="deleteResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="validatePassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="validatePassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="validatePasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="modify">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="modify">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="modifyResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="setPassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="setPassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="setPasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> −
> <wsdl:operation name="resetPassword">
> <soap:operation soapAction="" style="document"/>
> −
> <wsdl:input name="resetPassword">
> <soap:body use="literal"/>
> </wsdl:input>
> −
> <wsdl:output name="resetPasswordResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> −
> <wsdl:service name="ExampleConnectorService">
> −
> <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding"
> name="ExampleConnectorServicePort">
> <soap:address location="
> http://localhost:8080/idm-connector-ws/ExampleConnectorService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>