有人知道吗?是不是开发人员自己通过wsdl文档来注册序列化类型的?比如在一个wsdl中,有如下类型定义:
<wsdl:types>
- <schema targetNamespace="urn:JDBCSampleService" xmlns="http://www.w3.org/2001/XMLSchema">
  <import namespace="http://http.servlet.javax" /> 
  <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> 
- <complexType name="aa12">
- <sequence>
  <element name="aaa021" nillable="true" type="xsd:string" /> 
  <element name="aaa020" nillable="true" type="xsd:string" /> 
  </sequence>
  </complexType>
  </schema>
  </wsdl:types>那么在客户端通过查询UDDI调用服务时,注册序列化类型是手工这样写吗?
  //注册序列化类型
    QName qn1 =new QName("urn:JDBCSampleService","ArrayOfAa12");
        call.registerTypeMapping(AA12[].class, qn1,
                   new BeanSerializerFactory(AA12[].class, qn1),
                   new BeanDeserializerFactory(AA12[].class, qn1));
  
还是可以通过解析wsdl文档,动态的注册类型呢?

解决方案 »

  1.   

    不好意思,注册部分写错了
                QName qn1 = new QName("urn:JDBCSampleService","aa12");
                call.registerTypeMapping(AA12.class, qn1,
                              new BeanSerializerFactory(AA12.class, qn1),
                              new BeanDeserializerFactory(AA12.class, qn1));
    不过没关系,就是大概这个意思。
      

  2.   

    你去下载一分juddi包。
    里头有uddi4j调用juddi的范例。