package provision;
import java.io.*;
import org.w3c.dom.Document;
import java.net.*;
import java.io.DataInputStream;
import javax.xml.parsers.*;
import javax.swing.JOptionPane;import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.*;
import org.xml.sax.InputSource ;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class xiancheng
    extends Thread {
      Socket client; // 连接Web浏览器的socket字
      int counter; // 计数器
      jiekou jiekou_t;                String transactionID="";
                String devicetype_send = "";
                String devicetype_dest = "";
                String MsgType         = "";
                String misc_version    = "1.5.0";
                String deviceid_send   = "";
                String deviceid_dest   = "";
                String useridtype_Fee  = "";
                String useridtype_Dest = "";
                String isdn_Fee        = "";
                String isdn_Dest       = "";
                String pseudoCode_Fee  = "";
                String pseudoCode_Dest = "";
                String linkID          = "";
                String actionID        = "";
                String actionReasonID  = "";
                String spID            = "";
                String spServiceID     = "";
                String accessMode      = "";
                String featureStr      = "";
                final static String CRLF = "\r\n";
                 PrintStream outstream=null;
                  String inline=null;
                  DataInputStream instream=null;
                  BufferedReader is=null;
                  HttpServletRequest req;
                  String a;
  public xiancheng(Socket cl,int c,jiekou t) {
      client=cl;
      counter=c;
      jiekou_t=t;
      JOptionPane.showMessageDialog(jiekou_t,"初始化");
  }
  public void run()
  {
          String destIP=client.getInetAddress().toString(); // 客户机IP地址
          JOptionPane.showMessageDialog(jiekou_t,"客户机ip"+destIP);
          int destport=client.getPort(); // 客户机端口号
           JOptionPane.showMessageDialog(jiekou_t,"客户机d端口"+destport);
           
           //req=client.getInputStream();
           try{            outstream = new PrintStream(client.getOutputStream());
            is = new BufferedReader(new InputStreamReader(client.getInputStream()));
            //instream = new DataInputStream(client.getInputStream());
            inline = is.readLine();
            
            char abc[]=new char[1024];
           is.read(abc);
           a=new String(abc);
           JOptionPane.showMessageDialog(jiekou_t,a);
            
            
           }catch (IOException e) {
                                  System.out.println("Exception:"+e);
           }
          
         // instream.r.read();         

解决方案 »

  1.   

    JOptionPane.showMessageDialog(jiekou_t,"收到信息"+inline);
                            //System.out.println("Received:"+inline);
              if (getrequest(inline)) { // 如果是GET请求
                        JOptionPane.showMessageDialog(jiekou_t,"是get");                 try{
                        String xiafa="<HTML>" +
    "<HEAD><TITLE>404 Not Found</TITLE></HEAD>" +
    "<BODY>404 Not Found"
    +"<br>usage:http://yourHostName:port/"
    +"fileName.html</BODY></HTML>\r\n";                      //  JOptionPane.showMessageDialog(jiekou_t,"44");
                            outstream.write("HTTP/1.0 200 OK\r\n".getBytes());
                           // JOptionPane.showMessageDialog(jiekou_t,"444");
                           // outstream.write("MIME_version:1.0\r\n".getBytes());
                            outstream.write("abc".getBytes());
                            outstream.write("Content_Type:text/html\r\n".getBytes());
                            int len=(int)xiafa.length();
                            outstream.write(("Content_Length:"+String.valueOf(len)+"\r\n").getBytes());
                            outstream.write("\r\n\r\n".getBytes());
                           // sendfile(outstream,file); // 发送文件
                            outstream.write(xiafa.getBytes());
                        //    JOptionPane.showMessageDialog(jiekou_t,"444");
                          //   outstream.write("\r\n".getBytes());
                            outstream.flush();
                          } catch (IOException ye) {
              System.out.println("Exception:"+ye);
                               }
                 //}            long m1=1;
               while (m1<11100000) {m1++;} // 延时
                try{client.close();}catch (IOException ye1){}              }else //如果是post
                  {  JOptionPane.showMessageDialog(jiekou_t,"是post");               try {
                          // BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(client.getInputStream()));
                          // InputSource inputSource = new InputSource(bufferedReader);
                          // InputSource abcd = new InputSource();
                          // abcd.setCharacterStream(is);//;.setCharacterStream(br);//.setCharacterStream(br);
                          // inputSource.setByteStream(client.getInputStream());
                          String tt="<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
                                        "<SOAP-ENV:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\">"+
                                        "<SOAP-ENV:Header>"+
                                        "<TransactionID xmlns=\"http://www.monternet.com/dsmp/schemas/\">"+"123456799"+"</TransactionID>"+
                                        "</SOAP-ENV:Header>"+
                                        "<SOAP-ENV:Body>"+
                                        "<SyncOrderRelationResp xmlns=\"http://www.monternet.com/dsmp/schemas/\">"+
                                        "<Version>1.5.0</Version>"+
                                        "<MsgType>SyncOrderRelationResp</MsgType>"+
                                        "<hRet>0</hRet>"+
                                        "</SyncOrderRelationResp>"+
                                        "</SOAP-ENV:Body>"+
                                        "</SOAP-ENV:Envelope>";                             
                     
                          StringReader sr = new StringReader(tt);
                          InputSource iSrc = new InputSource(sr);
                         // DocumentBuilder builder=getBuilder();
                          DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
                         // doc = builder.parse(iSrc);
                                           
                          //  DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
                           // DocumentBuilder builder = factory.newDocumentBuilder();
                            //Document document = builder.parse(in);new InputSource(br))
                            JOptionPane.showMessageDialog(jiekou_t,"1");
                            Document document = builder.parse(iSrc);///////////
                            JOptionPane.showMessageDialog(jiekou_t,"2");                        if(document.getElementsByTagName("TransactionID") != null
                                            && document.getElementsByTagName("TransactionID").item(0) != null
                                            && document.getElementsByTagName("TransactionID").item(0).getFirstChild() != null){
                                    transactionID=document.getElementsByTagName("TransactionID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get TransactionID="+transactionID);
                            }else{
                                    System.out.println("ProvisionCmcc get TransactionID == null");
                            }
                           JOptionPane.showMessageDialog(jiekou_t,"3");
                            //version
      

  2.   

    if(document.getElementsByTagName("Version") != null
                                            && document.getElementsByTagName("Version").item(0) != null
                                            && document.getElementsByTagName("Version").item(0).getFirstChild() != null){
                                    misc_version = document.getElementsByTagName("Version").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get Version="+misc_version);
                            }else{
                                    System.out.println("ProvisionCmcc get Version == null");
                            }                        //MsgType
                            if(document.getElementsByTagName("MsgType") != null
                                            && document.getElementsByTagName("MsgType").item(0) != null
                                            && document.getElementsByTagName("MsgType").item(0).getFirstChild() != null){
                                    MsgType = document.getElementsByTagName("MsgType").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get MsgType="+MsgType);
                            }else{
                                    System.out.println("ProvisionCmcc get MsgType == null");
                            }                        //DeviceType
                            if(document.getElementsByTagName("DeviceType") != null
                                            && document.getElementsByTagName("DeviceType").item(0) != null
                                            && document.getElementsByTagName("DeviceType").item(0).getFirstChild() != null){
                                    devicetype_send=document.getElementsByTagName("DeviceType").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get send address.DeviceType="+devicetype_send);
                            }else{
                                    System.out.println("ProvisionCmcc get send address.DeviceType ==null");
                            }                        if(document.getElementsByTagName("DeviceType") != null
                                            && document.getElementsByTagName("DeviceType").item(1) != null
                                            && document.getElementsByTagName("DeviceType").item(1).getFirstChild() != null){
                                    devicetype_dest=document.getElementsByTagName("DeviceType").item(1).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get dest address.DeviceType="+devicetype_dest);
                            }else{
                                    System.out.println("ProvisionCmcc get dest address.DeviceType ==null");
                            }
                            //DeviceID
                            if(document.getElementsByTagName("DeviceID") != null
                                            && document.getElementsByTagName("DeviceID").item(0) != null
                                            && document.getElementsByTagName("DeviceID").item(0).getFirstChild() != null){
                                    deviceid_send=document.getElementsByTagName("DeviceID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get send address.DeviceID="+deviceid_send);
                            }else{
                                    System.out.println("ProvisionCmcc get send address.DeviceID ==null");
                            }
                            if(document.getElementsByTagName("DeviceID") != null
                                            && document.getElementsByTagName("DeviceID").item(1) != null
                                            && document.getElementsByTagName("DeviceID").item(1).getFirstChild() != null){
                                    deviceid_dest=document.getElementsByTagName("DeviceID").item(1).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get dest address.DeviceID="+deviceid_dest);
                            }else{
                                    System.out.println("ProvisionCmcc get dest address.DeviceID ==null");
                            }                        //UserIDType
                            if(document.getElementsByTagName("UserIDType") != null
                                            && document.getElementsByTagName("UserIDType").item(0) != null
                                            && document.getElementsByTagName("UserIDType").item(0).getFirstChild() != null){
                                    useridtype_Fee=document.getElementsByTagName("UserIDType").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get send FeeUser_ID.UserIDType="+useridtype_Fee);
                            }else{
                                    System.out.println("ProvisionCmcc get send FeeUser_ID.UserIDType ==null");
                            }
                            if(document.getElementsByTagName("UserIDType") != null
                                            && document.getElementsByTagName("UserIDType").item(1) != null
                                            && document.getElementsByTagName("UserIDType").item(1).getFirstChild() != null){
                                    useridtype_Dest=document.getElementsByTagName("UserIDType").item(1).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get dest DestUser_ID.UserIDType="+useridtype_Fee);
                            }else{
                                    System.out.println("ProvisionCmcc get dest DestUser_ID.UserIDType ==null");
                            }
      

  3.   

    if(document.getElementsByTagName("MSISDN") != null
                                            && document.getElementsByTagName("MSISDN").item(0) != null
                                            && document.getElementsByTagName("MSISDN").item(0).getFirstChild() != null){
                                    isdn_Fee=document.getElementsByTagName("MSISDN").item(0).getFirstChild().getNodeValue();
                                    if(isdn_Fee==null){
                                            System.out.println("ProvisionCmcc get send FeeUser_ID.MSISDN ==null");
                                    }else{
                                            System.out.println("ProvisionCmcc get send FeeUser_ID.MSISDN="+isdn_Fee);
                                    }
                            }else{
                                    System.out.println("ProvisionCmcc get send FeeUser_ID.MSISDN ==null");
                            }                        if(document.getElementsByTagName("MSISDN") != null
                                            && document.getElementsByTagName("MSISDN").item(1) != null
                                            && document.getElementsByTagName("MSISDN").item(1).getFirstChild() != null){
                                    isdn_Dest=document.getElementsByTagName("MSISDN").item(1).getFirstChild().getNodeValue();
                                    if(isdn_Dest==null){
                                            System.out.println("ProvisionCmcc get dest DestUser_ID.MSISDN ==null");
                                    }else{
                                            System.out.println("ProvisionCmcc get dest DestUser_ID.MSISDN="+isdn_Dest);
                                    }
                            }else{
                                    System.out.println("ProvisionCmcc get dest DestUser_ID.MSISDN ==null");
                            }                        //PseudoCode
                            if(document.getElementsByTagName("PseudoCode") != null
                                            && document.getElementsByTagName("PseudoCode").item(0) != null
                                            && document.getElementsByTagName("PseudoCode").item(0).getFirstChild() != null){
                                    pseudoCode_Fee=document.getElementsByTagName("PseudoCode").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get send FeeUser_ID.PseudoCode="+pseudoCode_Fee);
                            }else{
                                    System.out.println("ProvisionCmcc get send FeeUser_ID.PseudoCode ==null");
                            }
                            if(document.getElementsByTagName("PseudoCode") != null
                                            && document.getElementsByTagName("PseudoCode").item(1) != null
                                            && document.getElementsByTagName("PseudoCode").item(1).getFirstChild() != null){
                                    pseudoCode_Dest=document.getElementsByTagName("PseudoCode").item(1).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get dest DestUser_ID.PseudoCode="+pseudoCode_Dest);
                            }else{
                                    System.out.println("ProvisionCmcc get dest DestUser_ID.PseudoCode ==null");
                            }                        //LinkID
                            if(document.getElementsByTagName("LinkID") != null
                                            && document.getElementsByTagName("LinkID").item(0) != null
                                            && document.getElementsByTagName("LinkID").item(0).getFirstChild() != null){
                                    linkID=document.getElementsByTagName("LinkID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get LinkID="+linkID);
                            }else{
                                    System.out.println("ProvisionCmcc get LinkID ==null");
                            }                        //ActionID
                            if(document.getElementsByTagName("ActionID") != null
                                            && document.getElementsByTagName("ActionID").item(0) != null
                                            && document.getElementsByTagName("ActionID").item(0).getFirstChild() != null){
                                    actionID=document.getElementsByTagName("ActionID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get ActionID="+actionID);
                            }else{
                                    System.out.println("ProvisionCmcc get ActionID ==null");
                            }                        //ActionReasonID
                            if(document.getElementsByTagName("ActionReasonID") != null
                                            && document.getElementsByTagName("ActionReasonID").item(0) != null
                                            && document.getElementsByTagName("ActionReasonID").item(0).getFirstChild() != null){
                                    actionReasonID=document.getElementsByTagName("ActionReasonID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get ActionReasonID="+actionReasonID);
                            }else{
                                    System.out.println("ProvisionCmcc get ActionReasonID ==null");
                            }                        //SPID
                            if(document.getElementsByTagName("SPID") != null
                                            && document.getElementsByTagName("SPID").item(0) != null
                                            && document.getElementsByTagName("SPID").item(0).getFirstChild() != null){
                                    spID=document.getElementsByTagName("SPID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get SPID="+spID);
                            }else{
                                    System.out.println("ProvisionCmcc get SPID ==null");
                            }                        //SPServiceID
                            if(document.getElementsByTagName("SPServiceID") != null
                                            && document.getElementsByTagName("SPServiceID").item(0) != null
                                            && document.getElementsByTagName("SPServiceID").item(0).getFirstChild() != null){
                                    spServiceID=document.getElementsByTagName("SPServiceID").item(0).getFirstChild().getNodeValue();
                                    System.out.println("ProvisionCmcc get SPServiceID="+spServiceID);
                            }else{
                                    System.out.println("ProvisionCmcc get SPServiceID ==null");
                            }