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/10 16:51:44 UTC

Unmarshalling Error: cvc-complex-type.2.4

Hello:

I am getting another marshalling error and am not sure how to get past 
this. I realize that its a problem with my content, but the request is 
generated by the client and am not sure how to get past this.

org.apache.cxf.interceptor.Fault: Unmarshalling Error: 
cvc-complex-type.2.4.a: Invalid content was found starting with element 
'ns2:extensibleUser'. One of 
'{WC[##other:"http://www.openiam.org/service/connector"]}' is expected.

I have pasted below my code, request and the wsdl.

Any feedback would be greatly appreciated.

Thanks

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);

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);



Request:

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


Exception:

org.apache.cxf.interceptor.Fault: Unmarshalling Error: 
cvc-complex-type.2.4.a: Invalid content was found starting with element 
'ns2:extensibleUser'. One of '{WC
[##other:"http://www.openiam.org/service/connector"]}' is expected.
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.handleMessage(DocLiteralInInterceptor.java:99)
at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:104)
at 
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:392)


WSDL:

<wsdl:definitions name="ExampleConnectorService" 
targetNamespace="http://www.openiam.org/service/connector">
−
<wsdl:types>
−
<xs:schema elementFormDefault="unqualified" 
targetNamespace="http://www.openiam.org/service/connector" version="1.0">
<xs:element name="add" type="tns:add"/>
<xs:element name="addRequest" type="tns:AddRequestType"/>
<xs:element name="addResponse" nillable="true" type="xs:anyType"/>
<xs:element name="delete" type="tns:delete"/>
<xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
<xs:element name="deleteResponse" nillable="true" type="xs:anyType"/>
<xs:element name="expirePassword" type="tns:expirePassword"/>
<xs:element name="expirePasswordRequest" 
type="tns:ExpirePasswordRequestType"/>
<xs:element name="expirePasswordResponse" nillable="true" 
type="xs:anyType"/>
<xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
<xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
<xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
<xs:element name="lookup" type="tns:lookup"/>
<xs:element name="lookupRequest" type="tns:LookupRequestType"/>
<xs:element name="lookupResponse" nillable="true" type="xs:anyType"/>
<xs:element name="modify" type="tns:modify"/>
<xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
<xs:element name="modifyResponse" nillable="true" type="xs:anyType"/>
<xs:element name="resetPassword" type="tns:resetPassword"/>
<xs:element name="resetPasswordRequest" 
type="tns:ResetPasswordRequestType"/>
<xs:element name="resetPasswordResponse" nillable="true" type="xs:anyType"/>
<xs:element name="select" type="tns:SelectionType"/>
<xs:element name="setPassword" type="tns:setPassword"/>
<xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
<xs:element name="setPasswordResponse" nillable="true" type="xs:anyType"/>
<xs:element name="testConnection" type="tns:testConnection"/>
<xs:element name="testConnectionResponse" 
type="tns:testConnectionResponse"/>
<xs:element name="validatePassword" type="tns:validatePassword"/>
<xs:element name="validatePasswordRequest" 
type="tns:ValidatePasswordRequestType"/>
<xs:element name="validatePasswordResponse" nillable="true" 
type="xs:anyType"/>
−
<xs:complexType name="add">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="AddRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" minOccurs="0" name="psoID" 
type="tns:PSOIdentifierType"/>
<xs:element form="qualified" minOccurs="0" name="containerID" 
type="tns:PSOIdentifierType"/>
<xs:element form="qualified" name="data" type="tns:ExtensibleType"/>
<xs:element form="qualified" 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="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="PSOIdentifierType">
−
<xs:complexContent>
−
<xs:extension base="tns:IdentifierType">
−
<xs:sequence>
<xs:element form="qualified" 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="CapabilityType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element form="qualified" 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="ModificationType">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleType">
−
<xs:sequence>
<xs:element form="qualified" minOccurs="0" name="component" 
type="tns:SelectionType"/>
<xs:element form="qualified" minOccurs="0" name="data" 
type="tns:ExtensibleType"/>
<xs:element form="qualified" 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="SelectionType">
−
<xs:complexContent>
−
<xs:extension base="tns:QueryClauseType">
−
<xs:sequence>
<xs:element form="qualified" 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="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="ModifyResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element form="qualified" 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 form="qualified" 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 form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
<xs:element form="qualified" minOccurs="0" name="data" 
type="tns:ExtensibleType"/>
<xs:element form="qualified" 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 form="qualified" 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 form="qualified" 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 form="qualified" maxOccurs="unbounded" name="schema" 
type="tns:SchemaType"/>
<xs:element form="qualified" 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 form="qualified" 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 form="qualified" 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 form="qualified" minOccurs="0" name="pso" type="tns:PSOType"/>
</xs:sequence>
<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="LookupRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" 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="DeleteRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" 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 form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
<xs:element form="qualified" 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="ExtensibleUser">
−
<xs:complexContent>
−
<xs:extension base="tns:ExtensibleObject">
−
<xs:sequence>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" 
name="address" nillable="true" type="tns:ExtensibleObject"/>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" 
name="phone" nillable="true" type="tns:ExtensibleObject"/>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" 
name="email" nillable="true" type="tns:ExtensibleObject"/>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" 
name="group" nillable="true" type="tns:ExtensibleGroup"/>
<xs:element form="qualified" 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 form="qualified" minOccurs="0" name="objectId" 
type="xs:string"/>
<xs:element form="qualified" minOccurs="0" name="name" type="xs:string"/>
<xs:element form="qualified" name="operation" type="xs:int"/>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" 
name="attributes" nillable="true" type="tns:ExtensibleAttribute"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ExtensibleAttribute">
−
<xs:sequence>
<xs:element form="qualified" minOccurs="0" name="name" type="xs:string"/>
<xs:element form="qualified" minOccurs="0" name="value" type="xs:string"/>
<xs:element form="qualified" 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="addResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:AddResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="testConnection">
−
<xs:sequence>
<xs:element minOccurs="0" name="targetID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="testConnectionResponse">
−
<xs:sequence>
<xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="expirePassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" 
type="tns:ExpirePasswordRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ExpirePasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" 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="expirePasswordResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:ResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="lookup">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="lookupResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:LookupResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="delete">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="deleteResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:ResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="validatePassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" 
type="tns:ValidatePasswordRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ValidatePasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
<xs:element form="qualified" name="password" type="xs:string"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="validatePasswordResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" 
type="tns:ValidatePasswordResponseType"/>
</xs:sequence>
</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="modify">
−
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="modifyResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:ModifyResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="setPassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" type="tns:SetPasswordRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="SetPasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
<xs:element form="qualified" name="password" type="xs:string"/>
<xs:element form="qualified" minOccurs="0" name="currentPassword" 
type="xs:string"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="setPasswordResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:ResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="resetPassword">
−
<xs:sequence>
<xs:element minOccurs="0" name="request" 
type="tns:ResetPasswordRequestType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ResetPasswordRequestType">
−
<xs:complexContent>
−
<xs:extension base="tns:RequestType">
−
<xs:sequence>
<xs:element form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<xs:complexType name="resetPasswordResponse">
−
<xs:sequence>
<xs:element minOccurs="0" name="return" 
type="tns:ResetPasswordResponseType"/>
</xs:sequence>
</xs:complexType>
−
<xs:complexType name="ResetPasswordResponseType">
−
<xs:complexContent>
−
<xs:extension base="tns:ResponseType">
−
<xs:sequence>
<xs:element form="qualified" minOccurs="0" name="password" 
type="xs:string"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
−
<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:simpleType name="ExecutionModeType">
−
<xs:restriction base="xs:string">
<xs:enumeration value="synchronous"/>
<xs:enumeration value="asynchronous"/>
</xs:restriction>
</xs:simpleType>
−
<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: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: cvc-complex-type.2.4

Posted by Daniel Kulp <dk...@apache.org>.
Quite simple. Your schema says the data element is of type ExtensibleType.  
ExtensibleType is defined as:
 <xs:complexType name="ExtensibleType">
 <xs:sequence>
 <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" 
 processContents="lax"/>
..

Thus, the child elements of "data" CANNOT be in the same namespace as your 
schema.   In your message:
<ns2:data>
   <ns2:extensibleUser>
...
are both in the same namespace, thus the error.


Dan



On Tue November 10 2009 10:51:44 am Suneet Shah wrote:
> Hello:
> 
> I am getting another marshalling error and am not sure how to get past
> this. I realize that its a problem with my content, but the request is
> generated by the client and am not sure how to get past this.
> 
> org.apache.cxf.interceptor.Fault: Unmarshalling Error:
> cvc-complex-type.2.4.a: Invalid content was found starting with element
> 'ns2:extensibleUser'. One of
> '{WC[##other:"http://www.openiam.org/service/connector"]}' is expected.
> 
> I have pasted below my code, request and the wsdl.
> 
> Any feedback would be greatly appreciated.
> 
> Thanks
> 
> 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);
> 
> 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);
> 
> 
> 
> Request:
> 
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns2:add xmlns:ns2="http://www.openiam.org/service/connector">
> <reqType targetID="102" requestID="R4589">
> <ns2:psoID targetID="target" ID="test01.user04a"/>
> <ns2:data>
> <ns2:extensibleUser>
> <ns2:name>Test User03</ns2:name>
> <ns2:operation>0</ns2:operation>
> <ns2:attributes>
> <ns2:name>cn</ns2:name>
> <ns2:value>Test User03</ns2:value>
> <ns2:operation>1</ns2:operation>
> </ns2:attributes>
> </ns2:extensibleUser>
> </ns2:data>
> </reqType>
> </ns2:add>
> </soap:Body>
> </soap:Envelope>
> 
> 
> Exception:
> 
> org.apache.cxf.interceptor.Fault: Unmarshalling Error:
> cvc-complex-type.2.4.a: Invalid content was found starting with element
> 'ns2:extensibleUser'. One of '{WC
> [##other:"http://www.openiam.org/service/connector"]}' is expected.
> at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:6
> 61) 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.handleMessage(DocLiteral
> InInterceptor.java:99) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.java:236) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO
> bserver.java:104) at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinati
> on.java:98) at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle
> tController.java:392)
> 
> 
> WSDL:
> 
> <wsdl:definitions name="ExampleConnectorService"
> targetNamespace="http://www.openiam.org/service/connector">
> −
> <wsdl:types>
> −
> <xs:schema elementFormDefault="unqualified"
> targetNamespace="http://www.openiam.org/service/connector" version="1.0">
> <xs:element name="add" type="tns:add"/>
> <xs:element name="addRequest" type="tns:AddRequestType"/>
> <xs:element name="addResponse" nillable="true" type="xs:anyType"/>
> <xs:element name="delete" type="tns:delete"/>
> <xs:element name="deleteRequest" type="tns:DeleteRequestType"/>
> <xs:element name="deleteResponse" nillable="true" type="xs:anyType"/>
> <xs:element name="expirePassword" type="tns:expirePassword"/>
> <xs:element name="expirePasswordRequest"
> type="tns:ExpirePasswordRequestType"/>
> <xs:element name="expirePasswordResponse" nillable="true"
> type="xs:anyType"/>
> <xs:element name="extensibleUser" type="tns:ExtensibleUser"/>
> <xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType"/>
> <xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType"/>
> <xs:element name="lookup" type="tns:lookup"/>
> <xs:element name="lookupRequest" type="tns:LookupRequestType"/>
> <xs:element name="lookupResponse" nillable="true" type="xs:anyType"/>
> <xs:element name="modify" type="tns:modify"/>
> <xs:element name="modifyRequest" type="tns:ModifyRequestType"/>
> <xs:element name="modifyResponse" nillable="true" type="xs:anyType"/>
> <xs:element name="resetPassword" type="tns:resetPassword"/>
> <xs:element name="resetPasswordRequest"
> type="tns:ResetPasswordRequestType"/>
> <xs:element name="resetPasswordResponse" nillable="true"
>  type="xs:anyType"/> <xs:element name="select" type="tns:SelectionType"/>
> <xs:element name="setPassword" type="tns:setPassword"/>
> <xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType"/>
> <xs:element name="setPasswordResponse" nillable="true" type="xs:anyType"/>
> <xs:element name="testConnection" type="tns:testConnection"/>
> <xs:element name="testConnectionResponse"
> type="tns:testConnectionResponse"/>
> <xs:element name="validatePassword" type="tns:validatePassword"/>
> <xs:element name="validatePasswordRequest"
> type="tns:ValidatePasswordRequestType"/>
> <xs:element name="validatePasswordResponse" nillable="true"
> type="xs:anyType"/>
> −
> <xs:complexType name="add">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:AddRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="AddRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" minOccurs="0" name="psoID"
> type="tns:PSOIdentifierType"/>
> <xs:element form="qualified" minOccurs="0" name="containerID"
> type="tns:PSOIdentifierType"/>
> <xs:element form="qualified" name="data" type="tns:ExtensibleType"/>
> <xs:element form="qualified" 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="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="PSOIdentifierType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:IdentifierType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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="CapabilityType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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="ModificationType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleType">
> −
> <xs:sequence>
> <xs:element form="qualified" minOccurs="0" name="component"
> type="tns:SelectionType"/>
> <xs:element form="qualified" minOccurs="0" name="data"
> type="tns:ExtensibleType"/>
> <xs:element form="qualified" 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="SelectionType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:QueryClauseType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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="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="ModifyResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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 form="qualified" 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 form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element form="qualified" minOccurs="0" name="data"
> type="tns:ExtensibleType"/>
> <xs:element form="qualified" 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 form="qualified" 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 form="qualified" 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 form="qualified" maxOccurs="unbounded" name="schema"
> type="tns:SchemaType"/>
> <xs:element form="qualified" 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 form="qualified" 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 form="qualified" 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 form="qualified" minOccurs="0" name="pso" type="tns:PSOType"/>
> </xs:sequence>
> <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="LookupRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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="DeleteRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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 form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element form="qualified" 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="ExtensibleUser">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ExtensibleObject">
> −
> <xs:sequence>
> <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
> name="address" nillable="true" type="tns:ExtensibleObject"/>
> <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
> name="phone" nillable="true" type="tns:ExtensibleObject"/>
> <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
> name="email" nillable="true" type="tns:ExtensibleObject"/>
> <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
> name="group" nillable="true" type="tns:ExtensibleGroup"/>
> <xs:element form="qualified" 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 form="qualified" minOccurs="0" name="objectId"
> type="xs:string"/>
> <xs:element form="qualified" minOccurs="0" name="name" type="xs:string"/>
> <xs:element form="qualified" name="operation" type="xs:int"/>
> <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
> name="attributes" nillable="true" type="tns:ExtensibleAttribute"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ExtensibleAttribute">
> −
> <xs:sequence>
> <xs:element form="qualified" minOccurs="0" name="name" type="xs:string"/>
> <xs:element form="qualified" minOccurs="0" name="value" type="xs:string"/>
> <xs:element form="qualified" 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="addResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="tns:AddResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="testConnection">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="targetID" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="testConnectionResponse">
> −
> <xs:sequence>
> <xs:element name="return" type="xs:boolean"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="expirePassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ExpirePasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ExpirePasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" 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="expirePasswordResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="tns:ResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="lookup">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="lookupResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="tns:LookupResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="delete">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="deleteResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="tns:ResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="validatePassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ValidatePasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ValidatePasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element form="qualified" name="password" type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="validatePasswordResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return"
> type="tns:ValidatePasswordResponseType"/>
> </xs:sequence>
> </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="modify">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="modifyResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="tns:ModifyResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="setPassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
>  type="tns:SetPasswordRequestType"/> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="SetPasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
> <xs:element form="qualified" name="password" type="xs:string"/>
> <xs:element form="qualified" minOccurs="0" name="currentPassword"
> type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="setPasswordResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return" type="tns:ResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="resetPassword">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="request"
> type="tns:ResetPasswordRequestType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ResetPasswordRequestType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:RequestType">
> −
> <xs:sequence>
> <xs:element form="qualified" name="psoID" type="tns:PSOIdentifierType"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <xs:complexType name="resetPasswordResponse">
> −
> <xs:sequence>
> <xs:element minOccurs="0" name="return"
> type="tns:ResetPasswordResponseType"/>
> </xs:sequence>
> </xs:complexType>
> −
> <xs:complexType name="ResetPasswordResponseType">
> −
> <xs:complexContent>
> −
> <xs:extension base="tns:ResponseType">
> −
> <xs:sequence>
> <xs:element form="qualified" minOccurs="0" name="password"
> type="xs:string"/>
> </xs:sequence>
> <xs:anyAttribute namespace="##other" processContents="skip"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
> −
> <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:simpleType name="ExecutionModeType">
> −
> <xs:restriction base="xs:string">
> <xs:enumeration value="synchronous"/>
> <xs:enumeration value="asynchronous"/>
> </xs:restriction>
> </xs:simpleType>
> −
> <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: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