Now for the java webservice we've traced some of the code to line 149 of createClassFromWsdl which is:
145 extension = bindingOperation.getExtensibilityElements.elementAt(0);
146 if isa(extension, 'javax.wsdl.extensions.soap.SOAPOperatoin')
147 soapOperation = extension;
148 else
149 % Not a SOAP operation. Skip.
150 continue
151 end
152 op = makeOperation(operation, schema);
153 soapBody = bindingOperation.getBindingInput.getExtensibilityElements.elementAt(0);
Now the value of extension is:
K>>
Extension =
UnknownExtensibiiltyElement ({http://www.w3.org/ns/ws-policy}PolicyReference):
Required=null
Element=[wsp:PolicyReference: null]
K>>
Here is the glassfish generated wsdl:
<definitions
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wsp="http://www.w3.org/ns/ws-policy"
xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://log.ws.lh/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://log.ws.lh/"
name="LogImplService">
<wsp:Policy xmlns:wsat=http://schemas.xmlsoap.org/ws/2004/10/wsat"
wsu:Id=LogImplPortBinding_error_WSAT_Poility">
<wsat:ATAlwaysCapability />
<wsat:ATAssertion
xmlns:ns1="http://schemas.smlsoap.org/ws/2002/12/policy"
wsp:optional=true" ns1:Optional="true" /> </wsp:Policy>
<!-- a bunch more policy elements, one for each method-->
<types>
<xsd:schema>
<xsd:import namespace="http://log.ws.lh/"
schemaLocation="http://localhost:8080:8080/LogImplService/LogImpl?xsd=1" />
</xsd:schema>
</types>
<!-- bunch of message type definitions... -->
<portType name="logImpl">
<operation name=debug">
<input wsam:Action="http://log.ws.lh/logImpl/debugRequest"
message="tns:debug" />
<output wsam:Action="http://log.ws.lh/LogImpl/debugResponse"
message="tns:debugResponse" />
</operation>
<!-- more operaitons elements for each method-->
</portType>
<binding name=LogImplPortBinding" type="tns:LogImpl">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http:
stype="document" />
<operation name="debug">
<wsp:PolicyReference URI="#LogImplPortBinding_debug_WSAT_Policy" />
<soap:operation SoapAction=""/>
<input>
<wsp:PolicyReference URI="#LogImplPortBinding_debug_WSAT_Policy" />
<soap:body use="literal" />
</input>
<output>
<wsp:PolicyReference URI="#LogImplPortBinding_debug_WSAT_Policy" />
<soap:body use="literal" />
</output>
</operation>
<!-- more operations one for each method-->
</binding>
<service name="LogImplService">
<port name="LogImplPort" binding="tns:LogImplPortBinding">
<soap:address location="http://localhost:8080/LogImplService/LogImpl" />
</port>
</service>
</definitions>
