2014-02-07 2 views
0

저는 CXF의 wsdl2java 도구를 사용하여 Java 웹 서비스를 작성하고 있습니다. wsdl 파일과 몇 개의 XSD 파일이 있는데 바인딩 파일을 사용하여 네임 스페이스와 패키지를 매핑 할 수 있음을 알고 있습니다. 내 바인딩 파일은 다음과 같습니다 :CXF wsdl2java - 네임 스페이스와 패키지 매핑

<?xml version="1.0" encoding="UTF-8"?> 
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" jaxb:version="2.0"> 
    <jaxb:bindings schemaLocation="SchemeA.xsd" node="/xsd:schema"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="com.test.package.a" /> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
    <jaxb:bindings schemaLocation="SchemeB.xsd" node="/xsd:schema"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="com.test.package.b" /> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
    <jaxb:bindings schemaLocation="SchemeC.xsd" node="/xsd:schema"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="com.test.package.c" /> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
</jaxb:bindings> 

내 파일 :

  • A.wsdl (수입 모든 .XSD 파일)
  • 이 SchemeB.xsd
  • SchemeC
  • 을 SchemeA.xsd. xsd

이 XSD 구성표의 모든 항목에는 훌륭하게 작동하지만 그렇지 않습니다. wsdl의 정의.

  • com.test.package.a
  • com.test.package.b
  • com.test.package.c
  • https.package_test_com : 나는 끝에 나의 패키지는 다음과 같습니다 의미 마지막 줄이 귀찮게

.a.service, 나는 같이 그것을 싶습니다 com.test.package.a.service

답변

3

바인딩 파일이 JAXB 그 마나에 의해 사용된다 매개 변수와 응답의 바인딩은 webservice를 cxf 또는 jax-ws로 직접 관리하므로 여기에 지정된대로 wsdl2java의 -p 옵션과 함께이 바인딩을 지정해야합니다. http://cxf.apache.org/docs/wsdl-to-java.html