0

javaでEclipseからopentapsのWebサービスを呼び出そうとしています。私はコードを持っています

Service service = new Service();
        Call call = (Call) service.createCall();

        call.setTargetEndpointAddress(new java.net.URL("url"));
        call.setOperationName(new QName("quickCreateCustomer", "quickCreateCustomer"));

        call.addParameter("emailAddress", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        call.addParameter("firstName", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        call.addParameter("lastName", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        call.addParameter("login.password", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        call.addParameter("login.username", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

        call.setReturnType(org.apache.axis.Constants.XSD_STRING);

        Object responseWS = call.invoke(new Object[] { "mail_id", "s", "h", "pwd", "user_name" });

        System.out.println("ReceivingResponse: " + (String) responseWS);

        output = call.getOutputParams();

しかし、実行時エラーが発生し、

- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
- Exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT  expected, in something it was trying to deserialize.
at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
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:2448)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at TriongleJava.main(TriongleJava.java:36)
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.

ライン上

Object responseWS = call.invoke(new Object[] { "mail_id", "s", "h", "pwd", "user_name" });

私はJavaが初めてなので、それを削除する方法がわかりませんし、エラーの原因もわかりません。

4

2 に答える 2

2

私たちのチームは、軸 1.4.1 を使用して Web サービスにアクセスしているときに同じエラーに直面しました。問題は、JRE の上位バージョン、つまり JRE 1.6.0_37 が原因でした。JRE 1.6.0 を使用すると、Eclipse Java プロジェクトと Jetty Web アプリの両方で動作し始めました。

乾杯、ニサント

于 2013-07-15T15:38:44.950 に答える
1

JavaMailパッケージ (mail.jarおよびactivation.jar)に対するランタイム依存関係が欠落しているようです。

于 2012-12-05T13:25:45.940 に答える