简单的Web服务资源(7)
时间:2011-08-27 IBM Sivananthan Perumal
清单 7. AddressPropertyManager 代码片段
(a) public void updatePreference(Object resource, Object value)
throws ResourceUnavailableFault,
UnableToModifyResourcePropertyFault,
UpdateResourcePropertiesRequestFailedFault,
InvalidModificationFault,
BaseFault, Exception {
com.ibm.wsrf.sampleapp.address.service.AddressInterface resourceRef =
(com.ibm.wsrf.sampleapp.address.service.AddressInterface) resource;
java.lang.String inValue = (java.lang.String)value;
resourceRef.setPreference(inValue);
}
(b) public Object getPreference(Object resource)
throws ResourceUnavailableFault, Exception {
com.ibm.wsrf.sampleapp.address.service.AddressInterface resourceRef =
(com.ibm.wsrf.sampleapp.address.service.AddressInterface) resource;
java.lang.String retValue = resourceRef.getPreference();
return retValue;
}
(c) public void insertPreference(Object resource, Object value)
throws ResourceUnavailableFault,
UnableToModifyResourcePropertyFault,
InsertResourcePropertiesRequestFailedFault,
InvalidModificationFault,
BaseFault, Exception {
com.ibm.wsrf.sampleapp.address.service.AddressInterface resourceRef =
(com.ibm.wsrf.sampleapp.address.service.AddressInterface) resource;
java.lang.String inValue = (java.lang.String)value;
resourceRef.setPreference(inValue);
}
(d) public void deletePreference(Object resource)
throws ResourceUnavailableFault,
DeleteResourcePropertiesRequestFailedFault, Exception {
com.ibm.wsrf.sampleapp.address.service.AddressInterface resourceRef =
(com.ibm.wsrf.sampleapp.address.service.AddressInterface) resource;
}
当客户机应用程序要获得 Address 通过 EndPointReference 指向的资源属性 值时,会将带有资源属性的 QName 的 getResourceProperty 消息作为参数进行 传递。资源框架将该消息发送到适配器组件,以便首先获得 Address 资源实例。 AddressLifeTimeManager 的 getResource() 操作获得了 Address 资源实例。接 着,资源框架调用 AddressPropertyManager 中的 getPreference() 操作。然后 ,AddressPropertyManager 的 getPreference() 操作将该消息传递给 Address 资源中相应的操作。
您必须为其它资源属性提供类似的实现。
提示:如果将资源属性设置为只读属性,则不必为这些操作提供任何附加的实 现就可以使用 update 和 insert 消息,或者在 update 和 insert 操作的实现 中抛出异常(例如,InvalidModificationFault)。如果将资源属性设置为强制 属性,则可以在 delete 操作的实现中抛出 DeleteResourcePropertiesRequestFailedFault 异常。
绑定服务管理器操作
WS-Resource 的定制端口类型(也称为服务方法)是适配器组件的 AddressServiceManager 的一部分。默认情况下,代码生成器所生成的代码将这 些操作分别绑定到 Address 资源的方法上。在这方面,您不必对所生成的代码进 行任何更改。
在IBM Lotus Expeditor中构建并部署简单的Web服务资源(8)
时间:2011-08-27 IBM Sivananthan Perumal
生成 |