패키지 com.karros.test; 수입 java.util.HashMap에; 수입 java.util.Map; 수입 하는 javax.xml.namespace.QName; 수입 org.apache.axis.client.Call; 수입 org.apache.commons.lang.StringUtils; 수입 org.apache.commons.logging.Log; 수입 org.apache.commons.logging.LogFactory; 공공 클래스는 TestWsdl { 보호 최종 로그인 로거 = LogFactory.getLog (getClass ()); 공공 정적 무효 메인 (문자열 [] 인수)이 발생 예외 { 지도 <문자열 오브젝트> = paramMap새 의 HashMap <문자열, 개체> (); paramMap.put ( "syncTime", "20200401" ); 지도 <문자열, 개체> 된 resultMap = 새 의 HashMap <문자열, 개체> (); TestWsdl 단은 = 새로운 TestWsdl을 (); 된 resultMap = aa.getWebService (paramMap); 에서 System.out.println (된 resultMap); } // @Value ( "$ {weixin_sign_url}") // 개인 문자열 엔드 포인트; // #微信签到云平台接口地址 // weixin_sign_url = http://10.182.5.173 : 1111 / 서비스 / WXQDService.asmx의 공공문자열 엔드 포인트 = "http://10.182.5.96:102/Service/ORGService.asmx" ; 공개 지도 <문자열, 개체> getWebService는 (지도 <문자열, 개체> paramMap)가 발생 예외 { logger.debug를 ( "获取接口开始..." ); 지도 <문자열, 개체> 된 resultMap = 새 의 HashMap <문자열, 개체> (); resultMap.put ( "성공", 진정한 ); 시도 { 문자열 syncTime = (문자열) paramMap.get ( "syncTime을" ); 경우 (StringUtils에. false로 ) 돌아 된 resultMap을; } 다른 사람을 { // 서비스를 작성 (- 서비스) 호출 (호출) org.apache.axis.client.Service 서비스 = 새로운 새로운 org.apache.axis.client.Service (); 전화주세요 전화 = (통화 ) Service.createCall (); // 서비스를 통해 호출 객체 생성 // 서비스 설정을 곳의 URL call.setTargetEndpointAddress ( 새 새 의 java.net.URL (엔드 포인트)); call.setOperationName ( 새 새 의 QName ( "http://tempuri.org / ","getUserList로 " )); // .NET이 방법"http://tempuri.org/ "주소 네임 스페이스이 또한주의를 기울도 부여되지 않고 call.addParameter ( 새 새 (의 QName"http://tempuri.org/ ","syncTime " )의 org.apache.axis .encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN) call.setUseSOAPAction ( true로 ) call.setReturnType (org.apache.axis.encoding.XMLType.SOAP_STRING); // 반환 매개 변수 유형의 호출. setSOAPActionURI ( "http://tempuri.org/GetUserList"); // 이 또한주의해야한다 문자열 userVo = (문자열) Call.invoke ( 새로운 새로운 객체 [] {} syncTime), IF (StringUtils.isBlank (userVo를) || StringUtils.equals ( "[]", UserVo)) { resultMap.put ( "성공", false로 ); } 다른 { resultMap.put ( "userVo" , userVo); } } } 캐치 (예외 E) { resultMap.put ( "성공", false로 ); logger.error ( "정보에 비정상적인 접근" , E); } logger.debug는 ( "... 인터페이스 끝을 가져 오기" ); 반환 된 resultMap을; } }
기준 : https://www.cnblogs.com/herizai/p/6957611.html
com.karros.test 패키지;
수입 java.util.HashMap에; 수입 java.util.Map;
수입하는 javax.xml.namespace.QName;
수입 org.apache.axis.client.Call, 수입 org.apache.commons.lang.StringUtils, 수입 org.apache.commons.logging.Log, 수입 org.apache.commons.logging.LogFactory;
공용 클래스 TestWsdl {
공공 정적 무효 메인 (문자열 []에 args) 발생 예외 {지도 <문자열 오브젝트> paramMap = 새의 HashMap <문자열 오브젝트> (); 최종 로그인 로거 = LogFactory.getLog (모두 getClass ()) 보호 paramMap .put ( "syncTime", "20200401");지도 <문자열, 개체> 된 resultMap = 새의 HashMap <문자열, 개체> (); TestWsdl AA = 새로운 TestWsdl ();적인 resultMap = aa.getWebService (paramMap); System.out에 .println (resultMap는)}
// @ 값 ( "$ {weixin_sign_url}") // 개인 문자열 엔드 포인트; // # 기호 마이크로 채널 인터페이스 주소 인터넷 클라우드 // weixin_sign_url = HTTP : //10.182.5.173 : 1111 / 서비스 / WXQDService.asmxpublic 문자열 엔드 포인트 = " http://10.182.5.96:102/Service/ORGService.asmx";public지도 <문자열, 개체> getWebService는 (지도 <문자열, 개체> paramMap은) ( "... 인터페이스 시작을 얻을") 예외 {logger.debug를 던졌습니다 ;지도 <문자열, 개체> 된 resultMap = 새의 HashMap <문자열, 개체> (); resultMap.put ( "성공", TRUE); 시도 {문자열 syncTime = (문자열) paramMap.get ( "syncTime"); (StringUtils에있는 경우 .isBlank (syncTime)) {//20200401resultMap.put("success ")는 false 반환 된 resultMap;} 다른 {// 서비스를 작성 (서비스) 호출 (콜) org.apache.axis.client.Service 서비스 = 새로운 org.apache.axis.client.Service (); 전화 통화 = (전화) service.createCall (); //있는 서비스 // 세트 URLcall 서비스를 통해 호출 개체를 만듭니다.setTargetEndpointAddress (새의 java.net.URL (엔드 포인트));
call.setOperationName (새의 QName ( "http://tempuri.org/" , "getUserList로")); // .NET 저기 방법 "http://tempuri.org/"이 또한주의를 기울 주소로 네임 스페이스, 또한 주어지는 call.addParameter없이 (신규 ( "http://tempuri.org/"의 QName "syncTime") org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN) ;
(true로) call.setUseSOAPAction, call.setReturnType (org.apache.axis.encoding.XMLType.SOAP_STRING); // 반환 매개 변수 유형 call.setSOAPActionURI ( "http://tempuri.org/GetUserList"); // 참고 또한 문자열 userVo = (문자열) call.invoke ( 새로운 객체 [] {syncTime}); 경우 (StringUtils.isBlank (userVo) || StringUtils.equals ( "[]"userVo)) {resultMap.put ( "성공", 거짓);} 다른 {resultMap.put ( "userVo", userVo);}}} 캐치 (예외 전자) {resultMap.put ( "성공", false)를, logger.error ( " 정보 이상을 가져 오기" 전자);} logger.debug ( "... 인터페이스 끝을 얻으십시오"); 반환 된 resultMap을;}
}