- Unable to find required classes (javax.activation.DataHandler and javax.mail.i
nternet.MimeMultipart). Attachment support is disabled.mail.jar 与action???.jar怎么拼的,忘记了,这两个包不存在!

解决方案 »

  1.   

    刚刚那个问题解决了, 不过现在又出来一个异常E:\bea\user_projects\domains\mydomain\applications\WebServiceAss_Server\WEB-INF>
    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:7
    001/WebServiceAss_Server/services/LoginService deploy.wsdd
    - Unable to find required classes (javax.activation.DataHandler and javax.mail.i
    nternet.MimeMultipart). Attachment support is disabled.
    Processing file deploy.wsdd
    Exception: AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
     faultSubcode:
     faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child e
    lement, which is NOT expected, in something it was trying to deserialize.
     faultActor:
     faultNode:
     faultDetail:
            {http://xml.apache.org/axis/}hostname:IBM-T43
    我的部署文件中有这么一句<deployment xmlns="http://xml.apache.org/axis/wsdd/"
                xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     <service name="LoginService" provider="java:RPC">
      <parameter name="className" value="com.aip.internetBank.service.LoginService"/>
      <parameter name="allowedMethods" value="*"/>
      <beanMapping qname="ns:CustomerBean" xmlns:ns="urn:LoginService" languageSpecificType="java:com.aip.internetBank.bean.CustomerBean"/>
     </service>
    </deployment>请问是哪里出了问题?
      

  2.   

    有问题,去http://tonymao777.blog.163.com留言,
    只解答有关eclipse、axis、mysql、uddi、jsp等,不一定都能解答,但你可以try!
      

  3.   

    缺的包我补上了, 如果没有加那个beanmapping就能正常编译,但是如果加上这行的话,就会显示
    E:\bea\user_projects\domains\mydomain\applications\WebServiceAss_Server\WEB-INF>
    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:7
    001/WebServiceAss_Server/services/LoginService deploy.wsdd
    - Unable to find required classes (javax.activation.DataHandler and javax.mail.i
    nternet.MimeMultipart). Attachment support is disabled.
    Processing file deploy.wsdd
    Exception: AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
     faultSubcode:
     faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child e
    lement, which is NOT expected, in something it was trying to deserialize.
     faultActor:
     faultNode:
     faultDetail:
            {http://xml.apache.org/axis/}hostname:IBM-T43想了很久不知道什么原因
      

  4.   

    确定已加mail.jar、activation.jar、xerces.jar吗?
    从报错看是找不到 javax.activation.DataHandler and javax.mail.internet.MimeMultipart
    你是对javaBean序列化,还是传送附件?
      

  5.   

    类包都加上了,我是对一个javabean序列化,- Unable to find required classes (javax.activation.DataHandler and javax.mail.i
    nternet.MimeMultipart). Attachment support is disabled.这行已经没有了, 但是下面的还是出现
      

  6.   

    <beanMapping qname="ns:CustomerBean" xmlns:ns="urn:LoginService" languageSpecificType="java:com.aip.internetBank.bean.CustomerBean"/>
    如果是定制的bean,必须指定Customer Serialization!
    你的没有指定!!!
      

  7.   

    我直接添加
    <beanMapping languageSpecificType="java:com.aip.internetBank.bean.CustomerBean" qname="ns:CustomerBean" xmlns:ns="urn:LoginService"/>
    在server-config.wsdd中的话, 执行调用会出现下面异常org.xml.sax.SAXException: Deserializing parameter 'loginReturn':  could not find
     deserializer for type {urn:LoginService}CustomerBean
            at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
            at org.apache.axis.client.Call.invoke(Call.java:2470)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.aip.internetbank.action.LogonAction.execute(LogonAction.java:85)
            at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
    tProcessor.java:484)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
    va:274)
            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:148
    2)
            at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:1077)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:465)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:348)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
    n.run(WebAppServletContext.java:7047)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    121)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:3902)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2773)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    Caused by: org.xml.sax.SAXException: Deserializing parameter 'loginReturn':  cou
    ld not find deserializer for type {urn:LoginService}CustomerBean
            at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
            at org.apache.axis.encoding.DeserializationContext.startElement(Deserial
    izationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
    va:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
    t.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)
            ... 19 more
      

  8.   

    如何指定Customer Serialization呢?
      

  9.   

    <typeMapping qname="ns:local" xmlns:ns="someNamespace"
                 languageSpecificType="java:my.java.thingy"
                 serializer="my.java.Serializer"
                 deserializer="my.java.DeserializerFactory"
                 encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    你这样部署试试,因为这个要用到你自己编的序列化/反序列化类。确保你已经编好了这两个类!!!
      

  10.   

    如果你的bean是标准的javabean,就不需要自己另外编那两个类了,
    我不知道你的是什么?一定要定制序列化吗?
      

  11.   

    package com.aip.internetBank.bean;import java.io.Serializable;public class CustomerBean implements Serializable{ private String user_id;

    private String first_name;

    private String given_name;

    private String title; private String password; private String address; private String e_mail; private String postcode;
    public String getAddress() {
    return address;
    } public void setAddress(String address) {
    this.address = address;
    }

    public String getE_mail() {
    return e_mail;
    } public void setE_mail(String e_mail) {
    this.e_mail = e_mail;
    } public String getPassword() {
    return password;
    } public void setPassword(String password) {
    this.password = password;
    } public String getPostcode() {
    return postcode;
    } public void setPostcode(String postcode) {
    this.postcode = postcode;
    } public String getTitle() {
    return title;
    } public void setTitle(String title) {
    this.title = title;
    } public String getFirst_name() {
    return first_name;
    } public void setFirst_name(String first_name) {
    this.first_name = first_name;
    } public String getGiven_name() {
    return given_name;
    } public void setGiven_name(String given_name) {
    this.given_name = given_name;
    } public String getUser_id() {
    return user_id;
    } public void setUser_id(String user_id) {
    this.user_id = user_id;
    }}这是我的bean, 应该没有问题吧?
      

  12.   

    这是标准的bean,所以不需要上面的定制序列化类,
    这样的话,看你的wsdd文件,好像也没错,
    不过看报错,Deserializing parameter 'loginReturn':  could not find
     deserializer for type {urn:LoginService}CustomerBean
    名称空间有误!
    你原来的应该是可以的,不过你试一下http://的形式
      

  13.   

    麻烦你了, 被这个搞了一天了, 呵呵
    http://什么意思?
      

  14.   

    我用deploy.wsdd去生成server-config.wsdd, 如果没有beanmapping这行就能成功, 加了就会报错
    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
                xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     <service name="LoginService" provider="java:RPC">
      <parameter name="className" value="com.aip.internetBank.service.LoginService"/>
      <parameter name="allowedMethods" value="*"/>
      <beanMapping qname="ns:CustomerBean" xmlns:ns="urn:LoginService" languageSpecificType="java:com.aip.internetBank.bean.CustomerBean"/>
     </service>
    </deployment>这是deploy.wsdd文件
      

  15.   

    名称空间的形式url,
    那你试试这样:
    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
                xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     <service name="LoginService" provider="java:RPC">
      <parameter name="className" value="com.aip.internetBank.service.LoginService"/>
      <parameter name="allowedMethods" value="*"/>
    <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    qname="ns:CustomerBean" xmlns:ns="urn:LoginService" languageSpecificType="java:com.aip.internetBank.bean.CustomerBean"                 serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"                     deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
    name="CustomerBean"/>
     </service>
    </deployment>
    看报什么错,如果还是同样的错再改为http的形式!
      

  16.   

    xmlns:ns这个标签具体是个什么意思》
      

  17.   

    用了typemapping的写法, 可以正常生成server-config.wsdd,但是在执行调用的时候一样就报出那个bug,那么xmlns:ns标签什么意思, 改成http形式又是什么意思?
      

  18.   

    你的LoginService有没有返回其他对象?比如返回一个Collection 的子类,但是子类里放的是其他的model,如果有的话,你要在Mapping加上……
      

  19.   

    应该是没找到CLASS文件。
    在deploy.wsdd里面有相关配置,但在web-inf /classes里面没有编译后的类文件。