Marshalling Error when Schema Validation is On

View: New views
5 Messages — Rating Filter:   Alert me  

Marshalling Error when Schema Validation is On

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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.user@..."));
       
         
        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>

Re: Marshalling Error when Schema Validation is On

by dkulp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Couple thoughts:

1) Is ASM on the classpath?

2) What does the soap message look like if validation is turned off?   Does it
actually match the schema?

3) I notice you aren't using the WSDL at runtime.   Thus, it ends up using a
"generated" schema and not the "real" schema from the wsdl.   You might want
to actually point it at the correct wsdl.

Dan


On Tue October 27 2009 1:18:27 am Suneet Shah wrote:

> 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/ExampleConnector
> Service"); 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.user@..."));
>
>
>         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.ja
> va: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:3
> 5) at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe
> ference.java:45) at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
> 38) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
> unner.java:460) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
> unner.java:673) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner
> .java:386) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne
> r.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.unmarshalF
> ault(Soap11FaultInInterceptor.java:75) at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess
> age(Soap11FaultInInterceptor.java:46) at
> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess
> age(Soap11FaultInInterceptor.java:35) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.java:236) at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(Ab
> stractFaultChainInitiatorObserver.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(PhaseInterceptorChai
> n.java:236) at
>  org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:641) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons
> eInternal(HTTPConduit.java:2134) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons
> e(HTTPConduit.java:2013) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon
> duit.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$MessageSenderEndingInte
> rceptor.handleMessage(MessageSenderInterceptor.java:62) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.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)
>

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

Re: Marshalling Error when Schema Validation is On

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dan:

ASM is on the classpth.. Does this have an impact?

Dumb question - how do I use the wsdl at runtime?
Do you mean that I should use the wsdl in my service definition? ie.
jaxws:endpoint id="userDataService"
        implementor="#userManager"
        wsdlLocation="WEB-INF/wsdl/UserDataService.wsdl"
        address="/UserDataService"/>


thanks
Suneet


Daniel Kulp wrote:

> Couple thoughts:
>
> 1) Is ASM on the classpath?
>
> 2) What does the soap message look like if validation is turned off?   Does it
> actually match the schema?
>
> 3) I notice you aren't using the WSDL at runtime.   Thus, it ends up using a
> "generated" schema and not the "real" schema from the wsdl.   You might want
> to actually point it at the correct wsdl.
>
> Dan
>
>
> On Tue October 27 2009 1:18:27 am Suneet Shah wrote:
>  
>> 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/ExampleConnector
>> Service"); 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.user@..."));
>>
>>
>>         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.ja
>> va: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:3
>> 5) at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe
>> ference.java:45) at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
>> 38) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>> unner.java:460) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>> unner.java:673) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner
>> .java:386) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne
>> r.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.unmarshalF
>> ault(Soap11FaultInInterceptor.java:75) at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess
>> age(Soap11FaultInInterceptor.java:46) at
>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess
>> age(Soap11FaultInInterceptor.java:35) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
>> n.java:236) at
>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(Ab
>> stractFaultChainInitiatorObserver.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(PhaseInterceptorChai
>> n.java:236) at
>>  org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:641) at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons
>> eInternal(HTTPConduit.java:2134) at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons
>> e(HTTPConduit.java:2013) at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon
>> duit.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$MessageSenderEndingInte
>> rceptor.handleMessage(MessageSenderInterceptor.java:62) at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
>> n.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)
>>
>>    
>
>  

Re: Marshalling Error when Schema Validation is On

by dkulp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue October 27 2009 1:17:40 pm Suneet Shah wrote:
> Hi Dan:
> ASM is on the classpth.. Does this have an impact?

It can for cases where the SEI and stuff was not generated from wsdl.   If asm
isn't there, that can be a problem.    If ASM is there, then you should be all
set.

> Dumb question - how do I use the wsdl at runtime?
> Do you mean that I should use the wsdl in my service definition? ie.
> jaxws:endpoint id="userDataService"
>         implementor="#userManager"
>         wsdlLocation="WEB-INF/wsdl/UserDataService.wsdl"
>         address="/UserDataService"/>

Yes, no the server side.

On the client side,
factory.setWsdlLocation(....)
type thing to make sure the client is created with the appropriate wsdl.



Dan


>
>
> thanks
> Suneet
>
> Daniel Kulp wrote:
> > Couple thoughts:
> >
> > 1) Is ASM on the classpath?
> >
> > 2) What does the soap message look like if validation is turned off?  
> > Does it actually match the schema?
> >
> > 3) I notice you aren't using the WSDL at runtime.   Thus, it ends up
> > using a "generated" schema and not the "real" schema from the wsdl.   You
> > might want to actually point it at the correct wsdl.
> >
> > Dan
> >
> > On Tue October 27 2009 1:18:27 am Suneet Shah wrote:
> >> 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/ExampleConnec
> >>tor Service"); javax.xml.namespace.QName qname =
> >> javax.xml.namespace.QName.valueOf("http://www.openiam.org/service/connec
> >>tor "); 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.user@..."));
> >>
> >>
> >>         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
> >>.ja va: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.jav
> >>a:3 5) at
> >> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4Tes
> >>tRe ference.java:45) at
> >> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.ja
> >>va: 38) at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> >>stR unner.java:460) at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> >>stR unner.java:673) at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRun
> >>ner .java:386) at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRu
> >>nne r.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.unmarsh
> >>alF ault(Soap11FaultInInterceptor.java:75) at
> >> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleM
> >>ess age(Soap11FaultInInterceptor.java:46) at
> >> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleM
> >>ess age(Soap11FaultInInterceptor.java:35) at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> >>hai n.java:236) at
> >> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage
> >>(Ab stractFaultChainInitiatorObserver.java:96) at
> >> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess
> >>age (CheckFaultInterceptor.java:69) at
> >> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess
> >>age (CheckFaultInterceptor.java:34) at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> >>hai n.java:236) at
> >>  org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:641) at
> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
> >>ons eInternal(HTTPConduit.java:2134) at
> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
> >>ons e(HTTPConduit.java:2013) at
> >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
> >>Con duit.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$MessageSenderEndingI
> >>nte rceptor.handleMessage(MessageSenderInterceptor.java:62) at
> >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> >>hai n.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)
>

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

Re: Marshalling Error when Schema Validation is On

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I looked at the request that is being generated by the client code and
there is mis-match between what is defined in the wsdl and what is being
generated.
As you suggested, I put in the location of the wsdl, but now I am
getting the following error below.  I have attached my wsdl, but I dont
see url that its looking for. How do I get past this?

                                JaxWsProxyFactoryBean factory = new
JaxWsProxyFactoryBean();
                               
factory.setServiceClass(ConnectorService.class);                  
             
                               
factory.setAddress(connector.getServiceUrl());
                                 javax.xml.namespace.QName qname =
javax.xml.namespace.QName.valueOf(connector.getServiceNameSpace());
                                 factory.setEndpointName(qname);
                                 
factory.setWsdlLocation("/WEB-INF/wsdl/ConnectorService.xml");
                                 ConnectorService client =
(ConnectorService) factory.create();  


org.apache.cxf.interceptor.Fault: Could not find definition for service
{http://www.openiam.org/service/connector}ConnectorServiceService.
        at
org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
        at
org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
        at
org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68)
        at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

Thanks for your help

Daniel Kulp wrote:

> On Tue October 27 2009 1:17:40 pm Suneet Shah wrote:
>  
>> Hi Dan:
>> ASM is on the classpth.. Does this have an impact?
>>    
>
> It can for cases where the SEI and stuff was not generated from wsdl.   If asm
> isn't there, that can be a problem.    If ASM is there, then you should be all
> set.
>
>  
>> Dumb question - how do I use the wsdl at runtime?
>> Do you mean that I should use the wsdl in my service definition? ie.
>> jaxws:endpoint id="userDataService"
>>         implementor="#userManager"
>>         wsdlLocation="WEB-INF/wsdl/UserDataService.wsdl"
>>         address="/UserDataService"/>
>>    
>
> Yes, no the server side.
>
> On the client side,
> factory.setWsdlLocation(....)
> type thing to make sure the client is created with the appropriate wsdl.
>
>
>
> Dan
>
>
>  
>> thanks
>> Suneet
>>
>> Daniel Kulp wrote:
>>    
>>> Couple thoughts:
>>>
>>> 1) Is ASM on the classpath?
>>>
>>> 2) What does the soap message look like if validation is turned off?  
>>> Does it actually match the schema?
>>>
>>> 3) I notice you aren't using the WSDL at runtime.   Thus, it ends up
>>> using a "generated" schema and not the "real" schema from the wsdl.   You
>>> might want to actually point it at the correct wsdl.
>>>
>>> Dan
>>>
>>> On Tue October 27 2009 1:18:27 am Suneet Shah wrote:
>>>      
>>>> 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/ExampleConnec
>>>> tor Service"); javax.xml.namespace.QName qname =
>>>> javax.xml.namespace.QName.valueOf("http://www.openiam.org/service/connec
>>>> tor "); 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.user@..."));
>>>>
>>>>
>>>>         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
>>>> .ja va: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.jav
>>>> a:3 5) at
>>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4Tes
>>>> tRe ference.java:45) at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.ja
>>>> va: 38) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
>>>> stR unner.java:460) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
>>>> stR unner.java:673) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRun
>>>> ner .java:386) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRu
>>>> nne r.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.unmarsh
>>>> alF ault(Soap11FaultInInterceptor.java:75) at
>>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleM
>>>> ess age(Soap11FaultInInterceptor.java:46) at
>>>> org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleM
>>>> ess age(Soap11FaultInInterceptor.java:35) at
>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
>>>> hai n.java:236) at
>>>> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage
>>>> (Ab stractFaultChainInitiatorObserver.java:96) at
>>>> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess
>>>> age (CheckFaultInterceptor.java:69) at
>>>> org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess
>>>> age (CheckFaultInterceptor.java:34) at
>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
>>>> hai n.java:236) at
>>>>  org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:641) at
>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
>>>> ons eInternal(HTTPConduit.java:2134) at
>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
>>>> ons e(HTTPConduit.java:2013) at
>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
>>>> Con duit.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$MessageSenderEndingI
>>>> nte rceptor.handleMessage(MessageSenderInterceptor.java:62) at
>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
>>>> hai n.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" 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>