use of com.sun.xml.ws.api.databinding.DatabindingConfig in project metro-jax-ws by eclipse-ee4j.
the class WSServiceDelegate method buildRuntimeModel.
public SEIModel buildRuntimeModel(QName serviceName, QName portName, Class portInterface, WSDLPort wsdlPort, WebServiceFeatureList features) {
DatabindingFactory fac = DatabindingFactory.newInstance();
DatabindingConfig config = new DatabindingConfig();
config.setContractClass(portInterface);
config.getMappingInfo().setServiceName(serviceName);
config.setWsdlPort(wsdlPort);
config.setFeatures(features);
config.setClassLoader(portInterface.getClassLoader());
config.getMappingInfo().setPortName(portName);
config.setWsdlURL(wsdlURL);
// if ExternalMetadataFeature present, ExternalMetadataReader will be created ...
config.setMetadataReader(getMetadadaReader(features, portInterface.getClassLoader()));
com.sun.xml.ws.db.DatabindingImpl rt = (com.sun.xml.ws.db.DatabindingImpl) fac.createRuntime(config);
return rt.getModel();
}
use of com.sun.xml.ws.api.databinding.DatabindingConfig in project metro-jax-ws by eclipse-ee4j.
the class SDODatabindingTestBase method createProxy.
public static <T> T createProxy(Class<T> proxySEI, Class<?> endpointClass, String db, boolean debug) throws Exception {
DatabindingConfig srvConfig = new DatabindingConfig();
srvConfig.setEndpointClass(endpointClass);
DatabindingModeFeature dbf = new DatabindingModeFeature(db);
WebServiceFeatureList wsfeatures = new WebServiceFeatureList(endpointClass);
WebServiceFeature[] f = { dbf };
// config.setFeatures(wsfeatures.toArray());
srvConfig.setFeatures(f);
DatabindingConfig cliConfig = new DatabindingConfig();
cliConfig.setContractClass(proxySEI);
cliConfig.setFeatures(f);
return createProxy(proxySEI, srvConfig, cliConfig, debug);
}
use of com.sun.xml.ws.api.databinding.DatabindingConfig in project metro-jax-ws by eclipse-ee4j.
the class SDOHRAppServiceTest method testSDO_HRAppServiceNoWrapper.
// Bug 14071356
public void testSDO_HRAppServiceNoWrapper() throws Exception {
Set<SchemaInfo> schemas = SDOUtils.getSchemas(getResource("wsdl/HRAppService.wsdl").getFile());
DatabindingConfig srvConfig = new DatabindingConfig();
Class<HRAppServiceNoWrapper> sei = HRAppServiceNoWrapper.class;
Class<HRAppServiceImpl> seb = HRAppServiceImpl.class;
SDOConfig cSdo = sdoConfig(schemas, false);
SDOConfig sSdo = sdoConfig(schemas, true);
srvConfig.setContractClass(sei);
srvConfig.setEndpointClass(seb);
DatabindingModeFeature dbm = new DatabindingModeFeature("eclipselink.sdo");
WebServiceFeature[] features = { dbm };
srvConfig.setFeatures(features);
srvConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_INFO, schemas);
// srvConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_FILE, f);
srvConfig.properties().put(SDOContextWrapper.SDO_HELPER_CONTEXT_RESOLVER, sSdo.resolver);
srvConfig.properties().put("com.sun.xml.ws.api.model.SuppressDocLitWrapperGeneration", true);
DatabindingConfig cliConfig = new DatabindingConfig();
cliConfig.setContractClass(sei);
cliConfig.setFeatures(features);
cliConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_INFO, schemas);
// cliConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_FILE, f);
cliConfig.properties().put(SDOContextWrapper.SDO_HELPER_CONTEXT_RESOLVER, cSdo.resolver);
cliConfig.properties().put("com.sun.xml.ws.api.model.SuppressDocLitWrapperGeneration", true);
HRAppServiceNoWrapper proxy = createProxy(sei, srvConfig, cliConfig, debug);
java.math.BigDecimal totalComp = proxy.getTotalComp(new BigInteger("222"));
assertEquals("222", totalComp.toString());
totalComp = proxy.getTotalComp(new BigInteger("333"));
assertEquals("333", totalComp.toString());
doTestGetDeptno("1", proxy);
doTestGetDeptno("2", proxy);
doTestGetDeptno("2000", proxy);
List<Emp> emps = proxy.getManagerAndPeers(new BigInteger("100"));
assertEquals(3, emps.size());
for (int i = 0; i < emps.size(); i++) {
assertEquals("name" + i, emps.get(i).getEname());
assertEquals("job" + i, emps.get(i).getJob());
}
HelperContext context = cSdo.context;
{
Emp emp = (Emp) context.getDataFactory().create(Emp.class);
ProcessControl processControl = (ProcessControl) context.getDataFactory().create(ProcessControl.class);
processControl.setReturnMode("Full");
emp.setEname("name0");
List<Emp> empIn = new Vector<Emp>();
empIn.add(emp);
emp = (Emp) context.getDataFactory().create(Emp.class);
emp.setEname("name1");
empIn.add(emp);
List<Emp> ret = proxy.processEmps("myoperation", empIn, processControl);
for (int i = 0; i < ret.size(); i++) {
assertEquals(ret.get(i).getEname(), empIn.get(i).getEname());
assertEquals("myoperation", ret.get(i).getJob());
}
}
{
Emp emp = createEmployee(200, "1", "name", "1000", "fry cook", context);
Emp ret = proxy.createEmp(emp);
assertEquals(ret.getEname(), emp.getEname());
assertEquals(ret.getEmpno(), emp.getEmpno());
assertEquals(ret.getDeptno(), emp.getDeptno());
assertEquals(ret.getJob(), emp.getJob());
doTestGetDeptno("1", proxy);
doTestGetDeptno("2", proxy);
doTestGetDeptno("2000", proxy);
}
}
use of com.sun.xml.ws.api.databinding.DatabindingConfig in project metro-jax-ws by eclipse-ee4j.
the class SDORuntimeBasicTest method testAddNumbers.
public void testAddNumbers() throws Exception {
DatabindingConfig srvConfig = new DatabindingConfig();
File f = getSchema("AddNumbers.xsd");
Class<AddNumbersPortType> sei = AddNumbersPortType.class;
Class<AddNumbersServiceImpl> seb = AddNumbersServiceImpl.class;
// SDODatabindingContext.getLocalHelperContext();
final HelperContext chc = SDOHelperContext.getHelperContext("client");
HelperContextResolver chcr = new HelperContextResolver() {
// @Override
public HelperContext getHelperContext(boolean isClient, QName serviceName, Map<String, Object> properties) {
return chc;
}
};
SDOUtils.defineSchema(chc, f);
Set<SchemaInfo> schemas = SDOUtils.getSchemas(f);
final HelperContext shc = SDOHelperContext.getHelperContext("server");
HelperContextResolver shcr = new HelperContextResolver() {
// @Override
public HelperContext getHelperContext(boolean isClient, QName serviceName, Map<String, Object> properties) {
return shc;
}
};
srvConfig.setEndpointClass(seb);
DatabindingModeFeature dbm = databindingMode();
WebServiceFeature[] features = { dbm };
srvConfig.setFeatures(features);
srvConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_INFO, schemas);
// srvConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_FILE, f);
srvConfig.properties().put(SDOContextWrapper.SDO_HELPER_CONTEXT_RESOLVER, shcr);
DatabindingConfig cliConfig = new DatabindingConfig();
cliConfig.setContractClass(sei);
cliConfig.setFeatures(features);
cliConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_INFO, schemas);
// cliConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_FILE, f);
cliConfig.properties().put(SDOContextWrapper.SDO_HELPER_CONTEXT_RESOLVER, chcr);
AddNumbersPortType proxy = createProxy(sei, srvConfig, cliConfig, false);
Object obj = proxy.addNumbers(4, -83);
assertTrue(obj instanceof Integer);
Integer resp = (Integer) obj;
assertEquals(Integer.valueOf(-79), resp);
}
use of com.sun.xml.ws.api.databinding.DatabindingConfig in project metro-jax-ws by eclipse-ee4j.
the class SDORuntimeBasicTest method testEchoSDO.
public void testEchoSDO() throws Exception {
Class<HelloSDO_ProxyInterface> sei = HelloSDO_ProxyInterface.class;
Class<HelloSDO_ProxyInterfaceImpl> seb = HelloSDO_ProxyInterfaceImpl.class;
DatabindingConfig srvConfig = new DatabindingConfig();
final HelperContext shc = SDOHelperContext.getHelperContext("server");
HelperContextResolver shcr = new HelperContextResolver() {
// @Override
public HelperContext getHelperContext(boolean isClient, QName serviceName, Map<String, Object> properties) {
return shc;
}
};
File f = getSchema("MySDO.xsd");
Set<SchemaInfo> schemas = SDOUtils.getSchemas(f);
srvConfig.setEndpointClass(seb);
DatabindingModeFeature dbm = databindingMode();
WebServiceFeature[] features = { dbm };
srvConfig.setFeatures(features);
srvConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_INFO, schemas);
srvConfig.properties().put(SDOContextWrapper.SDO_HELPER_CONTEXT_RESOLVER, shcr);
DatabindingConfig cliConfig = new DatabindingConfig();
// SDODatabindingContext.getLocalHelperContext();
final HelperContext chc = SDOHelperContext.getHelperContext("client");
HelperContextResolver chcr = new HelperContextResolver() {
// @Override
public HelperContext getHelperContext(boolean isClient, QName serviceName, Map<String, Object> properties) {
return chc;
}
};
cliConfig.setContractClass(sei);
cliConfig.setFeatures(features);
cliConfig.properties().put(SDOContextWrapper.SDO_SCHEMA_INFO, schemas);
cliConfig.properties().put(SDOContextWrapper.SDO_HELPER_CONTEXT_RESOLVER, chcr);
HelloSDO_ProxyInterface proxy = createProxy(sei, srvConfig, cliConfig, false);
SDOUtils.defineSchema(chc, f);
MySDO mySDO = createMySDO(chc, "Gigi", 20);
Object obj = proxy.echoSDO(mySDO);
assertTrue(obj instanceof MySDO);
mySDO = (MySDO) obj;
assertEquals(21, mySDO.getIntPart());
assertEquals("Gary", mySDO.getStringPart());
String wrapperName = srvConfig.properties().get(BindingContext.class.getName()).getClass().getName();
assertTrue(wrapperName != null && wrapperName.endsWith("SDOContextWrapper"));
}
Aggregations