java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=esopCreateTest], {ExactMatcher:fDisplayName=esopCreateTest(com.cmcc.open.ss.util.EsopSynWebServiceActionTest)], {LeadingIdentifierMatcher:fClassName=com.cmcc.open.ss.util.EsopSynWebServiceActionTest,fLeadingIdentifier=esopCreateTest]] from [email protected]
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
原因---->junit 不能用静态方法,,,static...
/* * Project: zhejiang-esop-open manager Webapp * * File Created at 2017年11月16日 * * Copyright 2016 CMCC Corporation Limited. * All rights reserved. * * This software is the confidential and proprietary information of * ZYHY Company. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license. */ package com.cmcc.open.ss.util; import java.io.IOException; import java.io.StringWriter; import java.net.MalformedURLException; import java.util.LinkedList; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.cmcc.open.base.utils.TimeUtil; import com.cmcc.open.ss.po.FieldInfo; import com.cmcc.open.ss.po.RecordInfo; import com.cmcc.open.ss.po.enums.EsopStatusEnums; /** * @Type RPCClient.java * @Desc webservice 客户端调用test * @author huamao * @date 2017年11月16日 上午10:22:28 * @version */ public class EsopSynWebServiceActionTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } public static String serviceUrl = "http://localhost:8080/open_mssportal/services/hyEsopWebService?wsdl"; public static String nameSpace = "http://web.mssportal.open.cmcc.com"; public static String method = "acceptEsop"; //调用方式 public static Object invokeShaohua() throws Exception { String endpoint = serviceUrl; Service service = new Service(); Call call = null; try { call = (Call) service.createCall(); } catch (ServiceException e) { e.printStackTrace(); } try { call.setTargetEndpointAddress(new java.net.URL(endpoint)); } catch (MalformedURLException e) { e.printStackTrace(); } call.setOperationName(new QName("http://web.mssportal.open.cmcc.com", "acceptEsop")); String retXml = (String) call.invoke(new Object[] { "少华 webservice success" }); System.out.println(retXml); return retXml; } /** * * @param serviceUrl * @param nameSpace * @param method * @param params * @param classes * @return * @throws AxisFault */ @SuppressWarnings("rawtypes") public static Object[] invoke(String serviceUrl, String nameSpace, String method, Object[] params, Class[] classes) throws AxisFault { //使用RPC方式调用WebService RPCServiceClient client = new RPCServiceClient(); Options option = client.getOptions(); //指定调用的URL EndpointReference reference = new EndpointReference(serviceUrl); option.setTo(reference); /* * 设置要调用的方法 * http://ws.apache.org/axis2 为默认的(无package的情况)命名空间, * 如果有包名,则为 http://axis2.webservice.elgin.com ,包名倒过来即可 * method为方法名称 * */ QName qname = new QName(nameSpace, method); //调用远程方法,并指定方法参数以及返回值类型 Object[] result = client.invokeBlocking(qname, params, classes); return result; } @Test public static void esopCreateTest() { //junit测试方法呀,不能加static啊。所以会报错。。去掉就好了。。。 RecordInfo recordInfoMain = new RecordInfo(); List<FieldInfo> list = new LinkedList<>(); //主工单信息 FieldInfo f1 = new FieldInfo("主题", "title", "新装套餐"); FieldInfo f2 = new FieldInfo("集团编号", "customNo", "5717333262"); FieldInfo f3 = new FieldInfo("集团名称", "customName", "boss"); FieldInfo f4 = new FieldInfo("客户经理", "cManagerContact", "张业华"); FieldInfo f5 = new FieldInfo("客户经理联系电话", "cManagerContactPhone", "15268521895"); FieldInfo f6 = new FieldInfo("e55计费号", "mobileNo", "15573265301"); FieldInfo f7 = new FieldInfo("渠道ID", "chnlId", ""); FieldInfo f8 = new FieldInfo("集团订购编号", "orderId", "7309427400"); FieldInfo f9 = new FieldInfo("企业管理员手机号码", "contactMobile", "18867105653"); FieldInfo f10 = new FieldInfo("企业管理员姓名", "contactName", "乌云"); FieldInfo f11 = new FieldInfo("企业管理员邮箱", "contactEmail", "[email protected]"); FieldInfo f12 = new FieldInfo("地市编码", "cityCode", "573"); FieldInfo f13 = new FieldInfo("县市编码", "areaCode", "573002"); FieldInfo f14 = new FieldInfo("业务需求描述", "bRequirementDesc", "测试新装"); FieldInfo f15 = new FieldInfo("开通时间", "beginDate", "2017-12-01");//新装必填 FieldInfo f16 = new FieldInfo("计费开通时间", "billingDate", "2017-12-01");//新装必填 // FieldInfo f17=new FieldInfo("注销时间", "expDate", "");//注销必填 // FieldInfo f18=new FieldInfo("操作时间", "doneDate", "");//停复机必填 list.add(f1); list.add(f2); list.add(f3); list.add(f4); list.add(f5); list.add(f6); list.add(f7); list.add(f8); list.add(f9); list.add(f10); list.add(f11); list.add(f12); list.add(f13); list.add(f14); list.add(f15); list.add(f16); recordInfoMain.setFieldInfo(list); //子工单信息 RecordInfo recordInfoSub = new RecordInfo(); List<FieldInfo> listZ = new LinkedList<>(); FieldInfo fz1 = new FieldInfo("子工单号", "subSerialNo", "71001206670563"); FieldInfo fz2 = new FieldInfo("集团订购产品编号", "groupPrdCode", "600000471376"); FieldInfo fz3 = new FieldInfo("状态", "state", "1"); FieldInfo fz4 = new FieldInfo("产品生效时间", "prodCycleBillingDate", TimeUtil.getCurrentDate(TimeUtil.TIME_FORMAT2_24)); FieldInfo fz5 = new FieldInfo("产品失效时间", "prodCyclebExpDate", "2099-12-28 15:32:03"); listZ.add(fz1); listZ.add(fz2); listZ.add(fz3); listZ.add(fz4); listZ.add(fz5); recordInfoSub.setFieldInfo(listZ); // 创建输出流 StringWriter swMain = new StringWriter(); StringWriter swSub = new StringWriter(); String recordInfoMainStr = ""; String recordInfoSubStr = ""; try { // 利用jdk中自带的转换类实现 JAXBContext context = JAXBContext.newInstance(RecordInfo.class); Marshaller marshaller = context.createMarshaller(); //设置编码 marshaller.setProperty(Marshaller.JAXB_ENCODING, "GBK"); //是否要带 <?xml version="1.0" encoding="GBK" standalone="yes"?> marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); // 格式化xml输出的格式 marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // 将对象转换成输出流形式的xml marshaller.marshal(recordInfoMain, swMain); recordInfoMainStr = swMain.toString(); marshaller.marshal(recordInfoSub, swSub); recordInfoSubStr = swSub.toString(); } catch (JAXBException e) { e.printStackTrace(); } String opDetail = "<opDetail>" + recordInfoMainStr + recordInfoSubStr + "</opDetail>"; String sheetType = EsopStatusEnums.ESOP_OPERATE_CREATE.getCode(); String req = "{opPerson=系统:CRM访问ESB账号, opTime=20171128153135, sheetType=" + sheetType + ", callTime=20171128153135, serSupplier=ZJ_AEP, serCaller=ZJ_BBOSS, serviceType=200, opCorp=杭州移动公司, serialNo=71201711281122554051, callerPwd=, opContact=13957350339, opDepart=12,opDetail=" + opDetail + "}"; // req = req.replaceAll("[\\t\\n\\r]", "");//去除换行符 System.out.println(req); // try { // Object[] result = invoke(serviceUrl, nameSpace, method, new Object[] { req }, // new Class[] { String.class }); // System.out.println(result[0]); // } catch (Exception e) { // e.printStackTrace(); // } } }