The Java provider - Writing the WSDL extension
The Java provider supports the invocation of a method on a local Java object.
Overview
To use the Java provider, we need the following binding specified in the WSDL:
Example
<!-- Java binding --> <binding .... > <java:binding /> <format:typeMapping style="Java" encoding="Java"/>? <format:typeMap name="qname" formatType="nmtoken"/>* </format:typeMapping> <operation>* <java:operation methodName="nmtoken" parameterOrder="nmtoken" returnPart="nmtoken"? methodType="instance|constructor" /> <input name="nmtoken"? />? <output name="nmtoken"? />? <fault name="nmtoken"? />? </operation> </binding>In this example:
- A question mark (?) means optional, and an asterisk (*) means 0 or more.
- The name attribute of the <format:typeMap> element is a qualified name of a simple or complex type used by one of the Java operations.
- The formatType attribute of the <format:typeMap> element is the fully qualified class name for the Java class to which the element specified by name maps.
- The methodName attribute of the <java:operation> element is the name of the method on the Java object that is called by the operation.
- The parameterOrder attribute of the <java:operation> element contains a white space-separated list of part names that define the order in which they are passed to the Java object method.
- The methodType attribute of the <java:operation> element must be set to either instance or constructor. The value specifies whether the method that is invoked on the object is an instance method or a constructor for the object.
In the next example, the className attribute of the <java:address> element specifies the fully qualified class name of the object containing the method to invoke:
<service ... > <port>* <java:address className="nmtoken"/> </port> </service>