全局設置
static String ENDPOINT_ADDRESS_PROPERTY java
標準屬性:目標服務端點地址。
static String PASSWORD_PROPERTY
標準屬性:用於驗證的密碼。
static String SESSION_MAINTAIN_PROPERTY
標準屬性:服務客戶端使用此 boolean 屬性指示它是否但願參與與服務端點的會話。
static String SOAPACTION_URI_PROPERTY
SOAPAction 的標準屬性。
static String SOAPACTION_USE_PROPERTY
SOAPAction 的標準屬性。
static String USERNAME_PROPERTY
標準屬性:用於驗證的用戶名。
BindingProvider bindingProvider = (BindingProvider) servicePort;
Map<String, Object> requestContext = bindingProvider.getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointAddress);
requestContext.put("thread.local.request.context", true);
requestContext.put("com.sun.xml.internal.ws.connect.timeout", 100000);
requestContext.put("com.sun.xml.internal.ws.request.timeout", 300000);
requestContext.put("set-jaxb-validation-event-handler", false);
requestContext.put("schema-validation-enabled", false);
thread.local.request.context: 是不是線程安全的.Boolean.true就是線程安全.
Apache CXF org.apache.cxf.jaxws.JaxWsClientProxy
public static final String THREAD_LOCAL_REQUEST_CONTEXT="thread.local.request.context"
com.sun.xml.internal.ws.connect.timeout:鏈接超時時間
com.sun.xml.internal.ws.request.timeout:請求超時時間
set-jaxb-validation-event-handler:jaxb是否進行驗證.true爲開啓驗證.
schema-validation-enabled:schema驗證是否開啓,boolean.True開啓驗證.
經過CXF 轉換WSDL爲Java文件,指定UTF-8
ApacheCXF wsdl2java 指定編碼:
wsdl2java -encoding utf-8
wsdl網址
XSD to java 指定語句
- 1.cmd命令進入到jdk1.7的bin下.
- 2.在此目錄下新建src文件夾
- 3. 完整命令: D:\software\java7\jdk1.7\bin>xjc.exe E:\Test\xsd -d src -p org.credo.payment
第二種用jaxb,但貌似只能一個個弄. apache
1.首先咱們須要去下一份JAXB的實現,能夠去SUN(如今的oracle)網站上去下載:http://jaxb.java.net/。
2.用docs命令進入jaxb的bin目錄。
3.在bin目錄中新建一個src目錄
4.把相應的*.xsd放入bin目錄中
4.執行以下命令 xjc.bat E:\Test\xsd -d src -p org.credo.payment 安全
JAXB導出Schema
/**
* JAXB 導出Schema。
*
* @author: Credo
* @date: 2013-6-25
*/
public class JAXBExportSchema {
public static void main(String[] args) {
JAXBContext jct;
try
{
jct = JAXBContext.newInstance(類名.class);
jct.generateSchema(new Resolver("D:", "文件名"));
}
catch ( Exception ex )
{
ex.printStackTrace();
}
// JaxbContext jct =
// JettisonMappedContext.newInstance(類名.class).generateSchema(new
// Resolver());
}
}
class Resolver extends SchemaOutputResolver {
private final File file;
public Resolver(String namespaceUri, String suggestedFileName) {
file = new File(namespaceUri, suggestedFileName);
}
@Override
public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
System.out.println("file:" + file);
StreamResult result = new StreamResult(file);
result.setSystemId(file.toURI().toURL().toString());
return result;
}
}
XMLSPY生成schema
1,用XMLSPY2010打開你的XML文件
2,在DTD/Schema中選Generate DTD/Schema
3,在DTD/Schema file format中選W3C Schema
4,輸入schema名字,會生成一個差很少的schema oracle