I'm having problems with auto-generating WSDL from naming conventions in my .XSD file.
I'm getting a WSDL with an empty "portType" generated.
No operations are added to the portType, as you can see!Code:<wsdl:portType name="NetworkProvision"> </wsdl:portType>
All my messages names end with *Request or *Response
I have this schema in /WEB-INF/Prov.xsd:
and this bean defined:Code:<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://prov.m2.testing.es/" xmlns:prov="http://prov.m2.testing.es/" elementFormDefault="qualified"> <complexType name="CreateSubscriberServiceRequest"> <sequence> <element name="WorkOrder" type="string"></element> <element name="Subscriber" type="string"></element> <element name="Service" type="string"></element> <element name="ServiceClass" type="string"></element> <element name="Customer" type="string"></element> </sequence> </complexType> <complexType name="CreateCustomer"> <sequence> <element name="CustomerId" type="string"></element> <element name="CustomerName" type="string"></element> </sequence> </complexType> <complexType name="ModifySubscriberServiceParametersRequest"> <sequence> <element name="WorkOrder" type="string"></element> <element name="Subscriber" type="string"></element> <element name="Service" type="string"></element> <element name="ServiceClass" type="string"></element> <element name="Customer" type="string"></element> </sequence> </complexType> <complexType name="ModifySubscriberServiceStatusRequest"> <sequence> <element name="WorkOrder" type="string"></element> <element name="Subscriber" type="string"></element> <element name="Service" type="string"></element> <element name="Action" type="prov:ActionType"></element> </sequence> </complexType> <simpleType name="ActionType"> <restriction base="string"> <enumeration value="Enable"></enumeration> <enumeration value="Disable"></enumeration> <enumeration value="Block"></enumeration> <enumeration value="Unblock"></enumeration> </restriction> </simpleType> <complexType name="ModifyCustomerStatusRequest"> <sequence> <element name="WorkOrder" type="string"></element> <element name="Customer" type="string"></element> <element name="Action" type="prov:ActionType"></element> </sequence> </complexType> <complexType name="SubscriberServiceInfoResponse"> <sequence> <element name="Id" type="int"></element> <element name="Subscriber" type="string"></element> <element name="Service" type="string"></element> <element name="ServiceClass" type="string"></element> <element name="Customer" type="string"></element> <element name="Status" type="string"></element> </sequence> </complexType> <complexType name="SubscriberServiceInfoRequest"> <sequence> <element name="Subscriber" type="string"></element> <element name="Service" type="string"></element> </sequence> </complexType> </schema>
But I'm getting the following WSDL, with an empty "portType" generatedCode:<bean id="networkProvision" class="org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition"> <property name="builder"> <bean class="org.springframework.ws.wsdl.wsdl11.builder.XsdBasedSoap11Wsdl4jDefinitionBuilder"> <property name="schema" value="/WEB-INF/Prov.xsd"/> <property name="portTypeName" value="NetworkProvision"/> <property name="locationUri" value="http://prov.m2.testing.es/ws/networkProvision/"/> <property name="targetNamespace" value="http://prov.m2.testing.es/"/> </bean> </property> </bean>
Here's the full WSDLCode:<wsdl:portType name="NetworkProvision"> </wsdl:portType>
Code:<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:schema="http://prov.m2.testing.es/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://prov.m2.testing.es/"> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:prov="http://prov.m2.testing.es/" elementFormDefault="qualified" targetNamespace="http://prov.m2.testing.es/"> <complexType name="CreateSubscriberServiceRequest"> <sequence> <element name="WorkOrder" type="string"/> <element name="Subscriber" type="string"/> <element name="Service" type="string"/> <element name="ServiceClass" type="string"/> <element name="Customer" type="string"/> </sequence> </complexType> <complexType name="CreateCustomer"> <sequence> <element name="CustomerId" type="string"/> <element name="CustomerName" type="string"/> </sequence> </complexType> <complexType name="ModifySubscriberServiceParametersRequest"> <sequence> <element name="WorkOrder" type="string"/> <element name="Subscriber" type="string"/> <element name="Service" type="string"/> <element name="ServiceClass" type="string"/> <element name="Customer" type="string"/> </sequence> </complexType> <complexType name="ModifySubscriberServiceStatusRequest"> <sequence> <element name="WorkOrder" type="string"/> <element name="Subscriber" type="string"/> <element name="Service" type="string"/> <element name="Action" type="prov:ActionType"/> </sequence> </complexType> <simpleType name="ActionType"> <restriction base="string"> <enumeration value="Enable"/> <enumeration value="Disable"/> <enumeration value="Block"/> <enumeration value="Unblock"/> </restriction> </simpleType> <complexType name="ModifyCustomerStatusRequest"> <sequence> <element name="WorkOrder" type="string"/> <element name="Customer" type="string"/> <element name="Action" type="prov:ActionType"/> </sequence> </complexType> <complexType name="SubscriberServiceInfoResponse"> <sequence> <element name="Id" type="int"/> <element name="Subscriber" type="string"/> <element name="Service" type="string"/> <element name="ServiceClass" type="string"/> <element name="Customer" type="string"/> <element name="Status" type="string"/> </sequence> </complexType> <complexType name="SubscriberServiceInfoRequest"> <sequence> <element name="Subscriber" type="string"/> <element name="Service" type="string"/> </sequence> </complexType> </schema> </wsdl:types> <wsdl:portType name="NetworkProvision"> </wsdl:portType> <wsdl:binding name="NetworkProvisionBinding" type="schema:NetworkProvision"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> </wsdl:binding> <wsdl:service name="NetworkProvisionService"> <wsdl:port binding="schema:NetworkProvisionBinding" name="NetworkProvisionPort"> <soap:address location="http://localhost:8080/ws/networkProvision/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>


Reply With Quote
