I have got this problem as well. From what I can find out it is caused by the types, possibly the request and response in John's wsdl. My wsdl is from a 3rd party application so I can't change it much, but I would like to know what I can do to fix it.
I have included the WSDL & XSD docs below
WSDL
<definitions targetNamespace="http://www.imagenow.com/access/services1.0.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://www.imagenow.com/access/services1.0.wsdl" xmlns:common="http://www.imagenow.com/types/services1.0.xsd" xmlns:access="http://www.imagenow.com/access/services1.0.xsd" xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.imagenow.com/access/services1.0.xsd" schemaLocation="imagenow_access.xsd"/>
</xs:schema>
</types>
<message name="INOW_EXCEPTION">
<part name="INOW_EXCEPTION" element="common:INOW_EXCEPTION"/>
</message>
<message name="ACCESS_SESSION_BEGIN_USING_PW_REQUEST">
<part name="parameter" element="access:ACCESS_SESSION_BEGIN_USING_PASSWORD"/>
</message>
<message name="ACCESS_SESSION_BEGIN_USING_PW_RESPONSE">
<part name="parameter" element="access:LOGIN_OBJECT"/>
</message>
<message name="ACCESS_SESSION_END_REQUEST">
<part name="parameter" element="access:LOGIN_OBJECT"/>
</message>
<message name="ACCESS_SESSION_END_RESPONSE">
<part name="isEnded" element="common:INOW_BOOLEAN"/>
</message>
<message name="ACCESS_USER_CHECK_REQUEST">
<part name="parameter" element="access:ACCESS_USER_CHECK"/>
</message>
<message name="ACCESS_USER_CHECK_RESPONSE">
<part name="isUser" element="common:INOW_BOOLEAN"/>
</message>
<portType name="INOW_ACCESS_PORT_TYPE">
<operation name="ACCESS_SESSION_BEGIN_USING_PASSWORD">
<documentation>This operation is used to logon to ImageNow via the Message Agent. A logon object is returned and this data is used to set the context for the session that is used for every subsequent client-server communication.</documentation>
<input message="impl:ACCESS_SESSION_BEGIN_USING_PW_REQUEST"/>
<output message="impl:ACCESS_SESSION_BEGIN_USING_PW_RESPONSE"/>
<fault name="inowException" message="impl:INOW_EXCEPTION"/>
</operation>
<operation name="ACCESS_SESSION_END">
<documentation>This operation is used to end a Message Agent session.</documentation>
<input message="impl:ACCESS_SESSION_END_REQUEST"/>
<output message="impl:ACCESS_SESSION_END_RESPONSE"/>
<fault name="inowException" message="impl:INOW_EXCEPTION"/>
</operation>
<operation name="ACCESS_USER_CHECK">
<documentation>This operation is used to see if a particular user name is a valid ImageNow user.</documentation>
<input message="impl:ACCESS_USER_CHECK_REQUEST"/>
<output message="impl:ACCESS_USER_CHECK_RESPONSE"/>
<fault name="inowException" message="impl:INOW_EXCEPTION"/>
</operation>
</portType>
<binding name="INOW_ACCESS_SOAP_HTTP_BIND" type="impl:INOW_ACCESS_PORT_TYPE">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ACCESS_SESSION_BEGIN_USING_PASSWORD">
<soap:operation soapAction="urn:#ACCESS_SESSION_BEGIN_USING_PASSWORD"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="inowException">
<soap:fault name="inowException" use="literal"/>
</fault>
</operation>
<operation name="ACCESS_SESSION_END">
<soap:operation soapAction="urn:#ACCESS_SESSION_END"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="inowException">
<soap:fault name="inowException" use="literal"/>
</fault>
</operation>
<operation name="ACCESS_USER_CHECK">
<soap:operation soapAction="urn:#ACCESS_USER_CHECK"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="inowException">
<soap:fault name="inowException" use="literal"/>
</fault>
</operation>
</binding>
<documentation>
General Information
Perceptive Software's ImageNow(TM) product provides document imaging and management functionality including a document-centric workflow implementation. Perceptive Software's Message Agent exposes a subset of this functionality as web services.
This WSDL defines the basic access (authentication/authorization) web services available for use in Message Agent client programs.
</documentation>
</definitions>
XSD 1
<xs:schema targetNamespace="http://www.imagenow.com/access/services1.0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:common="http://www.imagenow.com/types/services1.0.xsd" xmlns:impl="http://www.imagenow.com/access/services1.0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.imagenow.com/types/services1.0.xsd" schemaLocation="imagenow_commonTypes.xsd"/>
<xs:annotation>
<xs:documentation>Schema defines the access data types needed to access ImageNow via the Message Agent.</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Begin document-literal-wrapped style types definition. Element names exactly match operation names in the corresponding WSDL and the element's complex type has no attributes.</xs:documentation>
</xs:annotation>
<xs:element name="ACCESS_SESSION_BEGIN_USING_PASSWORD">
<xs:annotation>
<xs:documentation>Defines parameters to begin a Message Agent client session using a user account in ImageNow.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="common:LOCALE"/>
<xs:element ref="common:INOW_USER_NAME"/>
<xs:element name="PASSWORD" type="xs:string">
<xs:annotation>
<xs:documentation>ImageNow password for the user.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="common:APP_CONTEXT"/>
<xs:element ref="common:MESSAGE_AGENT_SERVER_NAME"/>
<xs:element ref="impl:MESSAGE_AGENT_SERVER_PORT"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ACCESS_SESSION_END">
<xs:annotation>
<xs:documentation>Defines parameters to end a Message Agent session.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="common:INOW_CONTEXT"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ACCESS_USER_CHECK">
<xs:annotation>
<xs:documentation>Defines parameters to check if a particular user name is a valid ImageNow user.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="common:INOW_CONTEXT"/>
<xs:element name="USER_NAME" type="common:USER_NAME_TYPE">
<xs:annotation>
<xs:documentation>User name.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:annotation>
<xs:documentation>Begin supporting data types.</xs:documentation>
</xs:annotation>
<xs:element name="LOGIN_OBJECT">
<xs:annotation>
<xs:documentation>Contains authentication parameters for Message Agent.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="common:INOW_CONTEXT"/>
<xs:element ref="common:INOW_USER_NAME"/>
<xs:element name="EXPIRATION_DATE" type="common:INOW_DATE_TIME" nillable="true">
<xs:annotation>
<xs:documentation>Expiration for the logon object.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MESSAGE_AGENT_SERVER_PORT" type="xs:int">
<xs:annotation>
<xs:documentation>Port number for the Message Agent server. Default port numbers are 6070/6075 for HTTP/HTTPS.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
XSD 2
<xs:schema targetNamespace="http://www.imagenow.com/types/services1.0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://www.imagenow.com/types/services1.0.xsd" xmlns:ref="http://schemas.xmlsoap.org/ws/2002/04/reference/" xmlns:content="http://schemas.xmlsoap.org/ws/2002/04/content-type/">
<xs:annotation>
<xs:documentation>Schema defines data types common to more than one ImageNow service as exposed by Message Agent.</xs:documentation>
</xs:annotation>
<xs:element name="INOW_EXCEPTION" nillable="true">
<xs:annotation>
<xs:documentation>Common Message Agent exception object related to ImageNow web services.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:int">
<xs:annotation>
<xs:documentation>ID of the exception.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ERROR_CODE" type="xs:int">
<xs:annotation>
<xs:documentation>Unique error code for the exception.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ERROR_MESSAGE">
<xs:annotation>
<xs:documentation>Error message associated with the error code.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1023"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="INOW_CONTEXT">
<xs:annotation>
<xs:documentation>Represents the user's context that is passed back and forth between the Message Agent client and server for purposes of utilizing ImageNow functionality via web services.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="impl:LOCALE"/>
<xs:element ref="impl:APP_CONTEXT"/>
<xs:element ref="impl:SESSION_STRING"/>
<xs:element ref="impl:MESSAGE_AGENT_SERVER_NAME"/>
<xs:element ref="impl:INOW_USER_NAME"/>
<xs:element name="AUDIT_USER" type="impl:USER_NAME_TYPE" minOccurs="0">
<xs:annotation>
<xs:documentation>Username, as defined in ImageNow, of the user coming through the bridge. Security permissions and auditing will be conducted on this username.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="INOW_USER_NAME" type="impl:USER_NAME_TYPE">
<xs:annotation>
<xs:documentation>Name of the user in ImageNow.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="USER_NAME_TYPE">
<xs:annotation>
<xs:documentation>Name of the user in ImageNow.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:maxLength value="31" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DRAWER_NAME_TYPE">
<xs:annotation>
<xs:documentation>Name of a Drawer in ImageNow.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:maxLength value="15" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="DRAWER_NAME" type="impl:DRAWER_NAME_TYPE">
<xs:annotation>
<xs:documentation>Name of a Drawer in ImageNow.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DOCUMENT_KEYS" nillable="true">
<xs:annotation>
<xs:documentation>Document keys used to uniquely index documents in ImageNow.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:annotation>
<xs:documentation>Document keys used to uniquely index documents in ImageNow.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="impl:DRAWER_NAME" minOccurs="0"/>
<xs:element name="FOLDER" type="impl:DOC_KEY_FIELD_LENGTH" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Logical representation of a folder inside a drawer.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TAB" type="impl:DOC_KEY_FIELD_LENGTH" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Logical representation of a tab inside a folder.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FIELD3" type="impl:DOC_KEY_FIELD_LENGTH" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Additional field to further uniquely qualify a document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FIELD4" type="impl:DOC_KEY_FIELD_LENGTH" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Additional field to furhter uniquely qualify a document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FIELD5" type="impl:DOC_KEY_FIELD_LENGTH" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Additional field to further uniquely qualify a document.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="DOC_KEY_FIELD_LENGTH">
<xs:annotation>
<xs:documentation>Limits the length of a document key to 39 characters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:maxLength value="39" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="DOCUMENT_ID" type="impl:UNIQUE_ID_TYPE" nillable="true">
<xs:annotation>
<xs:documentation>Unique identifier for a document in ImageNow. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="UNIQUE_ID_TYPE">
<xs:annotation>
<xs:documentation>Common type for unique ID fields.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:maxLength value="23" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="DOCUMENT_KEYWORDS" nillable="true">
<xs:annotation>
<xs:documentation>Holds key word values for a particular document in ImageNow.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1023"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DOCUMENT_OBJECT">
<xs:annotation>
<xs:documentation>Logical represenation of the data comprising an ImageNow document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="impl:DOCUMENT_KEYS" minOccurs="0"/>
<xs:element name="TOTAL_PAGES" type="xs:int" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Total number of pages in the document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="impl:DOCUMENT_ID" minOccurs="0"/>
<xs:element name="SCAN_USERID" type="impl:UNIQUE_ID_TYPE" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>ID of the scan user.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SCAN_USER_NAME" type="impl:USER_NAME_TYPE" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of the scan user.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="impl:SCAN_TIME" minOccurs="0"/>
<xs:element name="MODIFICATION_USERID" type="impl:UNIQUE_ID_TYPE" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>UserID for user making last modification to the document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MOD_USER_NAME" type="impl:USER_NAME_TYPE" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of last user to modify the document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="impl:MODIFICATION_TIME" minOccurs="0"/>
<xs:element name="LAST_VIEWED_USERID" type="impl:UNIQUE_ID_TYPE" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>ID of the last user to view a document.</xs:documentation>
<xs:documentation>ID of the last user to view a document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LAST_VIEWED_USER_NAME" type="impl:USER_NAME_TYPE" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>User name of the last person to view a document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LAST_VIEWED_TIME" type="impl:INOW_DATE_TIME" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Time the document was last viewed.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FREE_FIELD" minOccurs="0">
<xs:annotation>
<xs:documentation>Free field. Can be used for keywords.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:maxLength value="1023"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CURRENT_QID" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>ID of the current workflow queue.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:maxLength value="23"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="impl:WORKFLOW_Q_NAME" minOccurs="0"/>
<xs:element ref="impl:WORKFLOW_STATUS" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes state of the document in relation to workflow such as "idle."</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="impl:WORKFLOW_QITEM_ID" minOccurs="0"/>
<xs:element name="Q_USER_ID" type="impl:UNIQUE_ID_TYPE" nillable="true" minOccurs="0">
<xs:annotation>
<xs:documentation>ID of user working with document in workflow. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Q_USER_NAME" type="impl:USER_NAME_TYPE" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of the workflow user name.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DOC_MODE" type="impl:DOC_MODE_TYPE" nillable="true">
<xs:annotation>
<xs:documentation>Selector to identify whether to use DOC_KEYS (KEYS) or DOC_ID (DOCID).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="DOC_MODE_TYPE">
<xs:annotation>
<xs:documentation>Selector to identify whether to use KEYS or DOCID when working with documents.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="KEYS"/>
<xs:enumeration value="DOCID"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="WORKFLOW_Q_NAME" type="impl:WORKFLOW_Q_NAME_TYPE" nillable="true">
<xs:annotation>
<xs:documentation>Name of an ImageNow workflow queue.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="WORKFLOW_Q_NAME_TYPE">
<xs:annotation>
<xs:documentation>Name of an ImageNow workflow queue.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="127" fixed="true"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="WORKFLOW_QITEM_ID" type="impl:UNIQUE_ID_TYPE" nillable="true">
<xs:annotation>
<xs:documentation>Unique ID for a document in workflow.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WORKFLOW_STATUS">
<xs:annotation>
<xs:documentation>Defines the state of a workflow item. Possible settings are: IDLE, WORKING, HOLDING, PENDING, FINISHED, COMPLETED, and ANY.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="39"/>
<xs:enumeration value="IDLE"/>
<xs:enumeration value="WORKING"/>
<xs:enumeration value="HOLDING"/>
<xs:enumeration value="PENDING"/>
<xs:enumeration value="FINISHED"/>
<xs:enumeration value="COMPLETED"/>
<xs:enumeration value="ANY"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SCAN_TIME" type="impl:INOW_DATE_TIME" nillable="true">
<xs:annotation>
<xs:documentation>Date and time scan occurred.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MODIFICATION_TIME" type="impl:INOW_DATE_TIME" nillable="true">
<xs:annotation>
<xs:documentation>Time the document was last modified.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MESSAGE_AGENT_SERVER_NAME" type="xs:token" nillable="true">
<xs:annotation>
<xs:documentation>Hostname of the Message Agent server.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="APP_CONTEXT" type="xs:token" nillable="true">
<xs:annotation>
<xs:documentation>An application specific context used primarily to identify that a "client" is acting as a bridge for other users and to identify whether the AUDIT_USER field should be evaluated.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LOCALE" type="xs:token" nillable="true">
<xs:annotation>
<xs:documentation>Placeholder for internationalization or browser location value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SESSION_STRING" type="xs:token" nillable="true">
<xs:annotation>
<xs:documentation>A session string representing the user's context</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="INOW_BOOLEAN" type="xs:int">
<xs:annotation>
<xs:documentation>Uses an integer to represent success or failure. 0 implies a non-positive result which will likely spawn an exception and a value of 1 represents success. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TIMEOUT" type="xs:int">
<xs:annotation>
<xs:documentation>Determines amount of time to wait for a response. Units in seconds.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:simpleType name="INOW_DATE_TIME">
<xs:annotation>
<xs:documentation>This time is represented as seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). A normative representation is 1093292609:279889 representing the seconds:microseconds since 1JAN70. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>