请各位大老关注:
  我在调用对方WEB SERVICE服务时,用TELNET连接对方服务,连接是成功的.
  我在JBUILDER9 中调用别人的WEB SERVICES服务,调试提示信息如下:AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode:  faultString: java.net.ConnectException: Connection refused: connect faultActor:  faultNode:  faultDetail:  {http://xml.apache.org/axis/}stackTrace: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158) at java.net.Socket.connect(Socket.java:426) at java.net.Socket.connect(Socket.java:376) at java.net.Socket.&lt;init&gt;(Socket.java:291) at java.net.Socket.&lt;init&gt;(Socket.java:119) at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:129) at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180) at org.apache.axis.client.Call.invokeEngine(Call.java:2526) at org.apache.axis.client.Call.invoke(Call.java:2515) at org.apache.axis.client.Call.invoke(Call.java:2210) at org.apache.axis.client.Call.invoke(Call.java:2133) at org.apache.axis.client.Call.invoke(Call.java:1656) at cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1.service.SendSmsBindingStub.sendSms(SendSmsBindingStub.java:272) at sms.smssend.main(smssend.java:74)java.net.ConnectException: Connection refused: connect at org.apache.axis.AxisFault.makeFault(AxisFault.java:129) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:131) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180) at org.apache.axis.client.Call.invokeEngine(Call.java:2526) at org.apache.axis.client.Call.invoke(Call.java:2515) at org.apache.axis.client.Call.invoke(Call.java:2210) at org.apache.axis.client.Call.invoke(Call.java:2133) at org.apache.axis.client.Call.invoke(Call.java:1656) at cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1.service.SendSmsBindingStub.sendSms(SendSmsBindingStub.java:272) at sms.smssend.main(smssend.java:74)Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158) at java.net.Socket.connect(Socket.java:426) at java.net.Socket.connect(Socket.java:376) at java.net.Socket.<init>(Socket.java:291) at java.net.Socket.<init>(Socket.java:119) at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:129) at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114) ... 11 more请大老们给予帮助,还不做好老板要炒我鱿鱼了.

解决方案 »

  1.   

    faultString: java.net.ConnectException: Connection refused: connect 连接被拒
    看看是不是防火墙不允许JBuilder访问
      

  2.   

    Web Services可以穿过防火墙的,应该不是这个问题。Web Services的提供者也是用Java实现的吗?看你上面似乎用的axis,这个应该很简单的,估计是你的代码什么地方有格小问题。
      

  3.   

    进来学习下 
    WEB service 是什么应用 ?
      

  4.   

    帮我看看这个原代码,上面的错误是这个代码产生的package sms;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2009</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    /*
    import java.math.*;
    import java.rmi.*;
    import javax.xml.rpc.ServiceException;
    import javax.xml.soap.*;import org.apache.axis.message.SOAPHeaderElement;
    import org.apache.axis.types.*;
    import org.apache.axis.types.URI.*;
    import cn.com.chinatelecom.www.schema.ctcc.common.v2_1.*;
    import cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1._interface.*;
    import cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1.service.*;
    */
    import java.math.BigDecimal;
    import java.rmi.RemoteException;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.List;import javax.xml.rpc.ServiceException;
    import javax.xml.soap.SOAPException;import org.apache.axis.message.SOAPHeaderElement;
    import org.apache.axis.types.URI.MalformedURIException;
    import cn.com.chinatelecom.www.schema.ctcc.common.v2_1.ChargingInformation;
    import cn.com.chinatelecom.www.schema.ctcc.common.v2_1.PolicyException;
    import cn.com.chinatelecom.www.schema.ctcc.common.v2_1.SimpleReference;
    import cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1._interface.*;
    import cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1.service.SendSmsServiceLocator;import cn.com.chinatelecom.www.wsdl.ctcc.sms.send.v2_1.service.SendSmsBindingStub;public class smssend{public static void main(String[] args)
          throws ServiceException, SOAPException, MalformedURIException, PolicyException, cn.com.chinatelecom.www.schema.ctcc.common.v2_1.ServiceException, RemoteException {       System.out.println("启动程序SMSSend...");       SendSmsServiceLocator local=new SendSmsServiceLocator();
           SendSms sms=local.getSendSms();
           SOAPHeaderElement header=new SOAPHeaderElement("http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1","RequestSOAPHeader");       header.addChildElement("spId").addTextNode("15199544"); //SpID
           MD5 md5 = new MD5();
           header.addChildElement("spPassword").addTextNode(md5.getMD5("654321" + "****" + "0426152630").toUpperCase());//MD5加密       header.addChildElement("timeStamp").addTextNode("0426152630");
           header.addChildElement("productId").addTextNode("115000000000000003055");
           header.addChildElement("OA").addTextNode("02087567900");
           header.addChildElement("FA").addTextNode("02087567900");
           //header.addChildElement("multicastMessaging").addTextNode(r.getMulticastMessaging()); //是否群发
           ((SendSmsBindingStub)sms).setHeader(header);  //添加SOAP头
           System.out.println("完成setHeader...");       String senderName="周翔";
           String message="我们的接口已经调通,收到短信,请回复我的手机15013159511.周翔";
           String addr="tel:18979100612";
           org.apache.axis.types.URI addresses[]=new org.apache.axis.types.URI[1];
           addresses[0]=new org.apache.axis.types.URI(addr);
           org.apache.axis.types.URI uen= new org.apache.axis.types.URI();
           String p_path="http://117.21.254.31:5080/isag/North/SMS/SendSms";
           uen.setPath(p_path);
           System.out.println("完成短消息内容和地址...");       ChargingInformation charging=new ChargingInformation();
           charging.setDescription("gm");//描述
           charging.setAmount(new BigDecimal(1));//扣费数目
           charging.setCode("10661288");//业务代码
           //charging.setCurrency("19");
           System.out.println("完成计费信息...");       SimpleReference receiptRequest=new SimpleReference();
           receiptRequest.setCorrelator("100155");
           receiptRequest.setInterfaceName("SmsNotificationService");
           receiptRequest.setEndpoint(uen);       System.out.println("完成SimpleReference...");        String result="";
           if(sms!=null)
           {
            result=sms.sendSms(addresses, senderName, charging, message, receiptRequest);
           }
           System.out.println("完成sendSms...");       System.out.println(result);     }
    }