关闭

华为、中兴、烽火I2接口接入

标签: I2华为中兴烽火接口
280人阅读 评论(0) 收藏 举报
分类:
华为、中兴、烽火I2 Webservice接口接入
                 无论是华为、中兴、烽火I2接口的接入,其实I2接口就是webservice接口,webservice接口用soapui调用的时候就是http的post请求,那么我们需要厂家提供的是wsdl服务地址,soap报文(入参正确可以返回数据的),还有一份对入参出参说明的接口说明书。那么我们就看一下soapui的http post请求是怎么接入华为、中兴或者烽火的I2接口的吧。
package com.fenghuo.test;
import java.io.ByteArrayInputStream;
import java.io.InputStream;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;

public class FHTest {
    
    /**
     * 模拟soapui 调用webservice(I2接口) http post请求代码
     * @param xml  报文,可以在soapui上测试通过
     * @param url  wsdl地址
     * @param soapAction    操作类型,报文里面有
     * @return
     */
    public static String SoapRequest(String xml, String url,String soapAction) {
        try {
            PostMethod postMethod = new PostMethod(url);
            byte[] b = xml.getBytes("utf-8");
            InputStream is = new ByteArrayInputStream(b, 0, b.length);
            System.out.println("is:" + is);
            RequestEntity re = new InputStreamRequestEntity(is, b.length, "application/soap+xml; charset=utf-8");
            System.out.println("re:" + re);
            postMethod.setRequestHeader("SOAPAction",soapAction);
            postMethod.setRequestEntity(re);
            HttpClient httpClient = new HttpClient();
            httpClient.executeMethod(postMethod);
        
            xml = postMethod.getResponseBodyAsString();
            xml = xml.replaceAll(""", "'");
        } catch (Exception e) {
            e.printStackTrace();
            xml = "error";
        }
        return xml;
    }
    
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer();
        String report ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\""
                 + "xmlns:v1=\"http://www.tmforum.org/mtop/fmw/xsd/hdr/v1\" "
                 + "xmlns:v11=\"http://www.tmforum.org/mtop/mri/xsd/mer/v1\" "
                 + "xmlns:v12=\"http://www.tmforum.org/mtop/fmw/xsd/nam/v1\">" 
                 + "<soapenv:Header>"  
                 + " <v1:header> " 
                 + "<v1:activityName>getAllManagedElements</v1:activityName>"
                 +  "<v1:msgName>getAllManagedElementsRequest</v1:msgName>" 
                 +  "<v1:msgType>REQUEST</v1:msgType>"
                 + "<v1:senderURI>/MTOSI/InventoryOS</v1:senderURI>"  
                 + "<v1:destinationURI>/MTOSI/EmsOS</v1:destinationURI>" 
                 + "<v1:security>admin_VARIABLE_admin</v1:security>" 
                 + "<v1:communicationPattern>SimpleResponse</v1:communicationPattern>"  
                 + "<v1:communicationStyle>RPC</v1:communicationStyle>" 
                 + "</v1:header>" +
                 "</soapenv:Header>" +
                 "<soapenv:Body>" + 
                 "<v11:getAllManagedElementsRequest>" + 
                 "<!--Optional:-->" +
                 "<v11:mdOrMlsnRef>" + 
                 "<!--1 or more repetitions:-->" +
                 "<v12:rdn>" + 
                 "<v12:type>MD</v12:type>" + 
                 "<v12:value>GZ</v12:value>" + 
                 "</v12:rdn>" +
                 "</v11:mdOrMlsnRef>" + 
                 "</v11:getAllManagedElementsRequest>" + 
                 "</soapenv:Body>" + 
                 "</soapenv:Envelope>" ;
        
        String url = "wsdl地址";
        
        String soap = SoapRequest(report, url,"getAllManagedElements");
        
        System.out.println("返回的xml报文是:" + soap);
    
    }
}


从报文里面的<v11:getAllManagedElementsRequest>就可以知道操作类型是getAllManagedElements,也可以从<v1:activityName>
getAllManagedElements</v1:activityName>获得,执行程序便可以获得数据了,然后你再解析xml,通过正则表达式解析,别用
dom4j(个人认为只适合简单的),在入库就ok了。


1
0
查看评论

华为中兴设备debug使用

中兴设备debug方法: 1) 打开终端debug监控 terminal monitor 关闭终端debug监控 no terminal monitor 2) 打开指定模块debug debug program_name...
  • sun172270102
  • sun172270102
  • 2017-08-19 14:17
  • 576

Android游戏接入——华为篇

Android游戏接入——华为篇最近在做游戏接入,接入的方式是Untiy,中间牵扯到了C,所以整理了一些资料是根据自己项目写的,在这里感谢黄孟男的帮助。废话不多说,直接进入今天的主题。第一步:拿到华为的sdk后,不要着急去抽去接口,先导入华为给的demo,运行一下,再去看他们的接入文档,然后结合de...
  • qq_34501274
  • qq_34501274
  • 2016-11-17 13:10
  • 315

记一次我在华为和中兴的面试经历

小猿工作四年了,每日每夜都要忍受着腰椎间盘突出的折磨。 先说华为: 接到华为的面试是2015年3月11号,电话里是一个年轻男人的声音:“我是华为的,我看你之前是搞图形图像的,我们有个岗位跟你做的是相关的,想邀请你来面试。” 接到这个电话我有点意外,因为我的简历根本没有投华为,华为挖人的技能神鬼莫测果...
  • qiang_jsj
  • qiang_jsj
  • 2015-07-31 18:18
  • 2610

华为与中兴的战略对比

华为:超强资源形成超强技术压强     对待“面临淘汰”的小灵通,华为选择了放弃。从这一点上,我们可以看清华为从技术跟进、产品模仿向创新和改进转变的决心。     尽管顶着“技术华为”的帽子,但华为此前用来寻找市场机会的技术,基本是跨国公司的现成技术,通过付费授权使用专利的办法进行仿制。2002年,...
  • B_zhang
  • B_zhang
  • 2011-06-17 11:21
  • 7762

2016年校招秋招 C++开发 面试问题总结(中兴、CVTE、瑞晟、华为、YY)

校招秋招 C++ 开发 面经
  • zxx910509
  • zxx910509
  • 2017-03-04 17:28
  • 1140

中兴和华为的面试经历

今年华为刚刚发布来工大的时间,中兴方面马上做出反映,比华为早两天,呵呵,这样逼得华为又不得不提前了一天,这种被重视的感觉很好,我喜欢!     按照中兴说的招聘流程,硕士:1.技术面试,2.综合素质面试,3.英语面试,本科还得有一轮笔试。  &#...
  • Sabrina0115
  • Sabrina0115
  • 2007-09-17 14:48
  • 3526

2015年阿里、网易、中兴、华为、美团等Java研发工程师面试心得

一、阿里内推 阿里2015年缩招,我走的是内推路线,大概8月份开始内推,建议大家找认识的熟悉的人内推,因为如果进了面试,内推的人是可以通过内部系统看到你当前的面试是否通过,而不用像面试官说的那样:“等通知”。如果是不认识的人内推,他是不会冒着风险跟你透露当前面试进度的,阿里内部有规定,不得透露当前面...
  • lingzhm
  • lingzhm
  • 2016-01-06 13:54
  • 5352

华为、中兴编码规范

编码规范存在的意义是,不要以后看自己写的程序时,大骂“这堆乱七八糟的是啥玩意”
  • Avalon_Y
  • Avalon_Y
  • 2015-08-27 08:52
  • 535

华为和中兴的一点对比

华为和中兴可以说是中国企业的骄傲,因为他们主要是靠自己的实力赚 来的,而非靠的是垄断。这两家都呆过,现在还在其中的一家做。下面列出一区别,给大家一个认识吧。当然这些都是从一个打工者的角度去看的,如果你关心他的产品战略方面,请忽略本文,然后打开baidu或者google搜索吧。(注:这些是新...
  • novagx
  • novagx
  • 2008-01-08 23:19
  • 3764

华为离爱立信近了,离思科却远了

华为离爱立信近了,离思科远了   李云杰/文   在攀登世界级企业顶峰的道路上,华为又甩掉了一大对手。据市场研究公司Dell'Oro近日公布的数据显示,在全球电信设备市场上,华为已经超越诺基亚西门子,成第二大电信设备供应商。截止今年底三季度华为所占...
  • surenno1
  • surenno1
  • 2011-11-09 09:06
  • 1949
    个人资料
    • 访问:54177次
    • 积分:1198
    • 等级:
    • 排名:千里之外
    • 原创:65篇
    • 转载:0篇
    • 译文:0篇
    • 评论:11条
    贵州中测信息技术有限公司
    友情链接
    最新评论