Hello:

I get the exception below when I call the add() operation on my service with schema validation turned on. Its goes through fine, if the schema validation is set to false. I suspect that something is wrong in my wsdl that is causing this error to come up. However, I am at a loss as to where the problem may be. I have attached the wsdl and my client code.

Thanks for your help.

ClientProxyFactoryBean factory = new JaxWsProxyFactoryBean();
       factory.setServiceClass(ConnectorService.class);
factory.setAddress("http://localhost:8080/idm-connector-ws/ExampleConnectorService";); javax.xml.namespace.QName qname = javax.xml.namespace.QName.valueOf("http://www.openiam.org/service/connector";);
        factory.setEndpointName(qname);
ConnectorService client = (ConnectorService) factory.create(); AddRequestType addReqType = new AddRequestType(); PSOIdentifierType idType = new PSOIdentifierType("test.user",null, "target");
       addReqType.setPsoID(idType);
       addReqType.setRequestID("R4589");
       addReqType.setTargetID("100");
ExtensibleUser extUser = new ExtensibleUser();
       extUser.setName("Test User");
extUser.getAttributes().add(new ExtensibleAttribute("cn","Test User")); extUser.getAttributes().add(new ExtensibleAttribute("givenname","Test"));
       extUser.getAttributes().add(new ExtensibleAttribute("sn","User"));
extUser.getAttributes().add(new ExtensibleAttribute("description","Test User")); extUser.getAttributes().add(new ExtensibleAttribute("mail","test.u...@openiam.com")); addReqType.getData().getAny().add(extUser); client.add(addReqType);

       ResponseType resp =  client.add(addReqType);


javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: cvc-elt.1: Cannot find the declaration of element 'arg0'. at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:141)
   at $Proxy56.add(Unknown Source)
   at org.openiam.srvc.UserMgrTest.testAdd(UserMgrTest.java:70)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at junit.framework.TestCase.runTest(TestCase.java:164)
   at junit.framework.TestCase.runBare(TestCase.java:130)
at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
   at junit.framework.TestResult$1.protect(TestResult.java:110)
   at junit.framework.TestResult.runProtected(TestResult.java:128)
   at junit.framework.TestResult.run(TestResult.java:113)
   at junit.framework.TestCase.run(TestCase.java:120)
   at junit.framework.TestSuite.runTest(TestSuite.java:228)
   at junit.framework.TestSuite.run(TestSuite.java:223)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) Caused by: org.apache.cxf.binding.soap.SoapFault: Unmarshalling Error: cvc-elt.1: Cannot find the declaration of element 'arg0'. at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
   at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:641)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2134) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2013) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1938) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
   at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:626)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:469)
   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299)
   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251)
   at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:120)
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="ExampleConnectorService" targetNamespace="http://www.openiam.org/service/connector"; xmlns:ns1="http://cxf.apache.org/bindings/xformat"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:tns="http://www.openiam.org/service/connector"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  <wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.openiam.org/service/connector"; xmlns:tns="http://www.openiam.org/service/connector"; xmlns:xs="http://www.w3.org/2001/XMLSchema";>
<xs:element name="addRequest" nillable="true" type="tns:AddRequestType" />
<xs:element name="addResponse" nillable="true" type="tns:AddResponseType" />
<xs:element name="deleteRequest" nillable="true" type="tns:DeleteRequestType" />
<xs:element name="deleteResponse" nillable="true" type="tns:ResponseType" />
<xs:element name="expirePasswordRequest" nillable="true" type="tns:ExpirePasswordRequestType" />
<xs:element name="expirePasswordResponse" nillable="true" type="tns:ResponseType" />
<xs:element name="extensibleUser" type="tns:ExtensibleUser" />
<xs:element name="listTargetsRequest" nillable="true" type="tns:ListTargetsRequestType" />
<xs:element name="listTargetsResponse" nillable="true" type="tns:ListTargetsResponseType" />
<xs:element name="lookupRequest" nillable="true" type="tns:LookupRequestType" />
<xs:element name="lookupResponse" nillable="true" type="tns:LookupResponseType" />
<xs:element name="modifyRequest" nillable="true" type="tns:ModifyRequestType" />
<xs:element name="modifyResponse" nillable="true" type="tns:ModifyResponseType" />
<xs:element name="resetPasswordRequest" nillable="true" type="tns:ResetPasswordRequestType" />
<xs:element name="resetPasswordResponse" nillable="true" type="tns:ResetPasswordResponseType" />
<xs:element name="select" nillable="true" type="tns:SelectionType" />
<xs:element name="setPasswordRequest" nillable="true" type="tns:SetPasswordRequestType" />
<xs:element name="setPasswordResponse" nillable="true" type="tns:ResponseType" />
<xs:element name="validatePasswordRequest" nillable="true" type="tns:ValidatePasswordRequestType" />
<xs:element name="validatePasswordResponse" nillable="true" 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>

Reply via email to