У меня была проблема с использованием решения с Eclipse (пробовал и Helios SR1 и Juno SR1) и CXF 2.6.3. Решение было похоже на то, что говорит Kaitsu. А именно, мастер New> Web Service в Eclipse копирует wsdl в сложенный WebContent / wsdl. Я должен был поместить туда wsdl и файл привязки. В противном случае файл привязки выдал ошибку «не является частью этой компиляции».
Мне не удалось использовать встроенную схему в WSDL, но она работала с внешней схемой, как в ответе № 1.
Я использую опцию конфигурации конечной точки сервлета CXF. В моем WSDL у меня есть:
<wsdl:port binding="axis2:ConverterSOAP12Binding" name="ConverterSOAP12port_http">
<soap12:address location="http://localhost/Converter/services/Converter"/>
</wsdl:port>
Мастер сгенерировал это в мой web.xml, который работает нормально:
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
Но он поместил это в cxf-servlet.xml:
<jaxws:endpoint xmlns:tns="http://wtp" id="converterporttype"
implementor="wtp.ConverterPortTypeImpl" wsdlLocation="wsdl/Converter.wsdl"
endpointName="tns:ConverterSOAP12port_http" serviceName="tns:Converter"
address="/ConverterSOAP12port_http">
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:endpoint>
Мне пришлось изменить адрес на полный URL-адрес, например:
address="http://localhost:8080/Converter/services/Converter">