法,该方法是添加一个 依赖项。
请参考 下载部分 以获得完整代码。
在前面的代码片段中,OperationContext 用于建立客户机和 WS-Resource 之 间的信道。OperationContext 容纳消息源(在 fromEPR 中)和消息目标(在 fromEPR 中)。必须确保 OperationContext 包含有效的 toEPR。在调用 WS- Resource 上的任何操作前,先通过调用 stub 对象的 setCurrentOperationContext(opContextObj) 操作来设置当前的 OperationContext。
如前所述,若要创建新的 Address 资源,在 ConfigInfo 参数和 TerminationTime 属性的初始值中必须将初始化参数作为 XML 文档进行发送。因 为使用 AddressLifeTimeManager 来解析以下 ResourceConfiguration XML 文档 ,所以 ConfigInfo XML 文档具有相同的结构:
清单 9. ConfigInfo XML 文档
<ConfigInfo>
<AddressResource/>
<eMailID>
wsrf_support@ibm.com
</eMailID>
</ConfigInfo>
用于创建 WS-Resource 的代码如下所示:
清单 10. createResourcein 测试客户机代码片段
public EndpointReference createResource(String uniqueId)
throws Exception {
String hostName = "localhost"; // Hostname of the WebService
String serviceName = "Address"; // Service Name of the Resource
String uriString = "http://" + hostName + "/ws/pid/" + serviceName+ "?wsdl";
|-------10--------20--------30--------40--------50--------60-------- 70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
WSAddressingService addressingObj = new WSAddressingServiceImpl();
// creating the EPR of resourceFactory
EndpointReference resourceFactoryEPR = addressingObj.createEndpointReference(uriString);
|-------10--------20--------30--------40--------50--------60-------- 70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
// prepare configInfo parameter for createResource()
Node[] configInfo = getConfigInfo(uniqueId);
// prepare initTerminationTime parameter for createResource ()
Calendar initTermTime = Calendar.getInstance();
int curr = initTermTime.get(Calendar.HOUR);
initTermTime.set(Calendar.HOUR, curr + 1);
// Prepare the channel for communicating with Resource Factory
OperationContext opContextObj = new OperationContext();
opContextObj.setToEPR(resourceFactoryEPR); // Set the resourceFactoryEPR as toEPR
|-------10--------20--------30--------40--------50--------60-------- 70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
stubObj.setCurrentOperationContext(opContextObj);// Set the current OperationContext
|-------10--------20--------30--------40--------50--------60-------- 70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
// Send createResource() message to the resourceFactory
EndpointReference resourceEP
|