无法在Eclipse中创建Java Webservice-客户端

布士

因此添加一些输入:

该错误似乎来自WSDL文件。

IWAB0399E从WSDL生成Java时出错:java.io.IOException:错误:节点'unknown'缺少类型或ref属性java.io.IOException:错误:节点'unknown'的类型或ref属性缺失

我简化了Web服务,现在有了这个WDSL文件:WSDL


我正在尝试从我的Java程序进行SOAP调用,为此我使用了apache axis1。我的客户程序如下:

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

public class Client {

    public Client() {
    }

    public class QueryResult implements java.io.Serializable{

        String type, name, revision, owner, current, description;

        public QueryResult() {
            super();
        }

        public String getType() { return type; }
        public void setType(String s) { type = s; }
        public String getName() { return name; }
        public void setName(String s) { name = s; }
        public String getRevision() { return revision; }
        public void setRevision(String s) { revision = s; }
        public String getOwner() { return owner; }
        public void setOwner(String s) { owner = s; }
        public String getCurrent() { return current; }
        public void setCurrent(String s) { current = s; }
        public String getDescription() { return description; }
        public void setDescription(String s) { description = s; }

      }

    public static void main(String [] args)
    {

        try {

            Service  service = new Service();

            Call call    = (Call) service.createCall();
            call.setTargetEndpointAddress( new java.net.URL(args[0]) );
            call.setOperationName(new QName("urn:Ppap2Service", "evaluateOne"));

            QName qr = new QName("urn:Ppap2Service", "QueryResult");
            BeanSerializerFactory bsf =   new BeanSerializerFactory(QueryResult.class,qr);   // step 2
            BeanDeserializerFactory bdf = new BeanDeserializerFactory(QueryResult.class,qr);  // step 3
            call.registerTypeMapping(QueryResult.class,qr,bsf,bdf);

            // Set the arguments for the call
            call.addParameter("type", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("name", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("revision", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("owner", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("vault", XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter("where", XMLType.XSD_STRING, ParameterMode.IN);
            call.setReturnType(qr);

            Object[] checkoutParams = new Object[6];
            checkoutParams[0] = args[1];
            checkoutParams[1] = args[2];
            checkoutParams[2] = args[3];
            checkoutParams[3] = args[4];
            checkoutParams[4] = args[5];
            checkoutParams[5] = args[6];

            QueryResult ret = (QueryResult)call.invoke(checkoutParams);

        } catch (Exception e) {

            System.out.println(e.toString());

        }
    }

}

调用Web服务时,此代码为我提供了此异常:

ERROR - Exception:
org.xml.sax.SAXException: No object was found for class type class Client
org.xml.sax.SAXException: No object was found for class type class Client
    at org.apache.axis.encoding.ConstructorTarget.set(ConstructorTarget.java:97)
    at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
    at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
    at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
    at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
    at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
    at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
    at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
    at org.apache.axis.client.Call.invoke(Call.java:2467)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at Client.main(Client.java:164)
Caused by: org.xml.sax.SAXException: No object was found for class type class Client
    at org.apache.axis.encoding.ConstructorTarget.set(ConstructorTarget.java:88)
    ... 16 more
org.xml.sax.SAXException: No object was found for class type class Client
org.xml.sax.SAXException: No object was found for class type class Client

我不明白这是什么问题。似乎是构造函数错误,因此我添加了无参数的Client构造函数,但没有任何变化。

你能帮忙吗?

谢谢

布士

我要关闭这个问题,因为它是由于我在其中工作的应用程序内部的Axis 1实现限制。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Webservice客户端创建方法

来自分类Dev

WebService客户端中的ThreadLocal泄漏

来自分类Dev

无法创建由weblogic提供的webservice客户端

来自分类Dev

无法创建由weblogic提供的webservice客户端

来自分类Dev

Java和jax-rpc中的WebService客户端

来自分类Dev

Java WebService客户端中的握手异常

来自分类Dev

使用suds的python webservice客户端中的错误

来自分类Dev

我的webservice静态客户端无法发布c#承载

来自分类Dev

如何将为Java Webservice生成的WSDl转换为C#客户端?

来自分类Dev

无法在SOAP WebService客户端中修改HTTP接受标头-JAX-WS 2.2.10-JDK1.7

来自分类Dev

向托管在 weblogic 上的 webservice 提交 post xml 请求并从客户端请求中获取响应 xml

来自分类Dev

soap webservice php客户端参数初始化

来自分类Dev

soap webservice php客户端参数初始化

来自分类Dev

MQTT如何从客户端创建客户端?

来自分类Dev

OpenVpn中的客户端到客户端通信

来自分类Dev

Jolokia Java客户端

来自分类Dev

JAVA Grpc客户端

来自分类Dev

休息客户端JAVA

来自分类Dev

OAuth客户端Java

来自分类Dev

Druid 的 Java 客户端?

来自分类Dev

客户端中的NoRouteToHostException

来自分类Dev

在eclipse中附加客户端进程

来自分类Dev

使用Java创建客户端文件

来自分类Dev

Java中的简单STUN客户端

来自分类Dev

套接字中的Java客户端

来自分类Dev

Java中的Facebook Rest客户端

来自分类Dev

泽西岛客户端创建错误

来自分类Dev

创建Abdera客户端失败

来自分类Dev

创建可靠的JMS客户端?