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>