Java Code Examples for org.apache.axis.encoding.TypeMapping#getTypeQName()

The following examples show how to use org.apache.axis.encoding.TypeMapping#getTypeQName() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AxisDeserializer.java    From googleads-java-lib with Apache License 2.0 6 votes vote down vote up
/** Adds the type mappings in the list to {@code registryTypeMapping}. */
private void registerTypeMappings(
    TypeMapping registryTypeMapping, List<TypeMapping> typeMappings) {
  Preconditions.checkNotNull(registryTypeMapping, "Null registry type mapping");
  Preconditions.checkNotNull(typeMappings, "Null type mappings");
  Preconditions.checkArgument(!typeMappings.isEmpty(), "Empty type mappings");
  for (TypeMapping typeMapping : typeMappings) {
    for (Class<?> mappingClass : typeMapping.getAllClasses()) {
      QName classQName = typeMapping.getTypeQName(mappingClass);
      DeserializerFactory deserializer = typeMapping.getDeserializer(mappingClass, classQName);
      if (deserializer != null && !registryTypeMapping.isRegistered(mappingClass, classQName)) {
        registryTypeMapping.register(
            mappingClass, classQName, (SerializerFactory) null, deserializer);
      }
    }
  }
}
 
Example 2
Source File: BatchJobMutateRequest.java    From googleads-java-lib with Apache License 2.0 5 votes vote down vote up
@Override
public BatchJobUploadBodyProvider createBatchJobUploadBodyProvider() {
  Set<String> namespaceUris = Sets.newHashSet();
  for (TypeMapping typeMapping : BatchJobHelperImpl.getServiceTypeMappings()) {
    for (Class<?> clazz : typeMapping.getAllClasses()) {
      QName qName = typeMapping.getTypeQName(clazz);
      if (qName != null) {
        namespaceUris.add(qName.getNamespaceURI());
      }
    }
  }
  return new AxisBatchJobUploadBodyProvider(namespaceUris);
}
 
Example 3
Source File: AxisWsContainerTest.java    From tomee with Apache License 2.0 4 votes vote down vote up
public void testInvokeSOAP() throws Exception {

        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        JavaServiceDesc serviceDesc = new JavaServiceDesc();
        serviceDesc.setEndpointURL("http://127.0.0.1:8080/axis/services/echo");
        //serviceDesc.setWSDLFile(portInfo.getWsdlURL().toExternalForm());
        serviceDesc.setStyle(Style.RPC);
        serviceDesc.setUse(Use.ENCODED);

        TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
        tmr.doRegisterFromVersion("1.3");
        TypeMapping typeMapping = tmr.getOrMakeTypeMapping(serviceDesc.getUse().getEncoding());

        serviceDesc.setTypeMappingRegistry(tmr);
        serviceDesc.setTypeMapping(typeMapping);

        OperationDesc op = new OperationDesc();
        op.setName("echoString");
        op.setStyle(Style.RPC);
        op.setUse(Use.ENCODED);
        Class beanClass = EchoBean.class;
        op.setMethod(beanClass.getMethod("echoString", String.class));
        ParameterDesc parameter =
            new ParameterDesc(
                new QName("http://ws.apache.org/echosample", "in0"),
                ParameterDesc.IN,
                typeMapping.getTypeQName(String.class),
                String.class,
                false,
                false);
        op.addParameter(parameter);
        serviceDesc.addOperationDesc(op);

        serviceDesc.getOperations();
        ReadOnlyServiceDesc sd = new ReadOnlyServiceDesc(serviceDesc);

        Class pojoClass = cl.loadClass("org.apache.openejb.server.axis.EchoBean");

        RPCProvider provider = new PojoProvider();
        SOAPService service = new SOAPService(null, provider, null);
        service.setServiceDescription(sd);
        service.setOption("className", "org.apache.openejb.server.axis.EchoBean");
        URL wsdlURL = new URL("http://fake/echo.wsdl");
        URI location = new URI(serviceDesc.getEndpointURL());
        Map wsdlMap = new HashMap();

        AxisWsContainer container = new AxisWsContainer(wsdlURL, service, wsdlMap, cl);

        InputStream in = cl.getResourceAsStream("echoString-req.txt");

        try {
            AxisRequest req =
                new AxisRequest(
                    504,
                    "text/xml; charset=utf-8",
                    new ServletIntputStreamAdapter(in),
                    HttpRequest.Method.GET,
                    new HashMap<String, String>(),
                    location,
                    new HashMap<String, String>(),
                    "127.0.0.1");

            ByteArrayOutputStream out = new ByteArrayOutputStream();
            AxisResponse res = new AxisResponse("text/xml; charset=utf-8", "127.0.0.1", null, null, 8080, new ServletOutputStreamAdapter(out));
            req.setAttribute(WsConstants.POJO_INSTANCE, pojoClass.newInstance());
            container.onMessage(req, res);

            out.flush();
//            log.debug(new String(out.toByteArray()));
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException ignore) {
                    // ignore
                }
            }
        }
    }