jre6.0은 WebService에 사용되지 않으며 사용되지 않습니다.
看看这样一段代码:
sourceprint 보기?01 @WebService(name="TestWS",
02 서비스이름="TestWS")
03 공개 클래스 TestWS {
04 /**
05 * 测试상효방법
06 * @파람x
07 * @paramy
08 * @리턴
09 */
10 @웹메소드
11 공개 int TestMethod(int x,int y){
12 x + y를 반환합니다.
13 }
14 }
view sourceprint?01 <PRE class=brush:java>/**
02 * @author v.xieping
03 *
04 */
05 공개수업 프로그램 {
06 /**
07 * @param 인수
08 */
09 공개 정적 무효 main(String[] args) {
10 끝점.publish(
11 " http://192.168.53.43:8090/CSEventWS/TestWS ",
12 새로운 TestWS());
13 ThreadWaitor.keepWait();
14 }
15 }
16 </PRE>
这样使용
소스 인쇄 보기1 http://192.168.53.43:8090/CSEventWS/TestWS
원본 인쇄를 보시겠습니까?1 这个地址就可以访问到这个WebService。
원본 보기?1
원본 보기?1 但是有个奇怪的问题是,我是一nusoap类库不能功以前一样调用成功。经试验发现三个问题。
원본 보기?1 1、WSDL题
소스 인쇄 보기?1 不过使用地址<PRE class=brush:java>http://192.168.53.43:8090/CSEventWS/TestWS</PRE>
2 <PRE class=brush:java>설정</PRE>
3 <PRE class=brush:java><PRE class=brush:java>http://192.168.53.43:8090/CSEventWS/TestWS?wsdl</PRE>
4 <PRE class=brush:java>는 nusoap에 있습니다.</PRE>
5 <PRE 클래스=브러시:java></PRE>
6 </PRE>
원본 보기
원본 보기
view sourceprint?1 可以使用 <PRE class=brush:java>http://192.168.53.43:8090/CSEventWS/TestWS?wsdl</PRE>
2 <PRE class=brush:java>这样的地址查看 <definitions targetNamespace=" http://ws.csevent/ " name="TestWS"></PRE>
3 <PRE 클래스=브러쉬:java></PRE>
3、参数问题
一般WSDL地址은 参数是와 이름이 같습니다.
$params = array('arg0' => 100,'arg1' => 200);
这种方式定义.
통통하다http://192.168.53.43:8090/CSEventWS/TestWS?wsdl查看
<types>−<xsd:schema><xsd:import 네임스페이스=" http://ws.csevent/ "schemaLocation=" http://192.168.53.43:8090/CSEventWS/TestWS?xsd=1"/ ></xsd:스키마></types><유형 >
−<xsd:스키마>
<xsd:import 네임스페이스=" http://ws.csevent/ "
SchemaLocation=" http://192.168.53.43:8090/CSEventWS/TestWS?xsd=1"/ >
</xsd:스키마>
</types>
再继续打开http://192.168.53.43:8090/CSEventWS/TestWS?xsd=1就可以看到用参数name字.
<xs:complexType name="테스트 방법">
−
<xs:순서>
<xs:요소 이름="arg0" 유형="xs:int"/>
<xs:요소 이름="arg1" 유형="xs:int"/>
</xs:순서>
</xs:복합 유형>
最终调사용为:
참고: 以下代码是使는 약간의 PHP를 사용합니다.
$objSoap = 새로운 HTTP_SOAP();
$client = $objSoap->getClient($this->url,false);
$params = array('arg0' => 100,'arg1' => 200);
$r = $client->call('TestMethod',$params ,'http://ws.csevent/','',false,true);
Debug_Util::log($r,"service.log");