2011-11-01 5 views
0

현재 첫 번째 웹 서비스를 개발 중입니다.웹 서비스에서 JavaScript로 호출

클라이언트는 JavaScript로 개발되었습니다.

제 문제는 작동하지 않는다는 것입니다. 내 문제가 뭔지 모르겠다.

나는 클라이언트 사이트의 실수라고 생각합니다. Java Web-Service Client를 사용해 보았습니다.

웹 서비스 :

import javax.jws.*; 
import javax.jws.soap.SOAPBinding; 
@WebService(name="TicketWebService", targetNamespace = "http://my.org/ns/") 
@SOAPBinding(style = SOAPBinding.Style.RPC) 
public class TicketWebService { 

    @WebMethod(operationName="getContact") 
    public String getContact() 
    { 

    return "Hallo Hans!!!"; 
    } 
} 

서버에 게시 :

import javax.swing.JOptionPane; 
import javax.xml.ws.Endpoint; 

public class PublishWsOnServer 
{ 
    public static void main(String[] args) 
    { 
    Endpoint endpoint = Endpoint.publish("http://localhost:8080/services", 
              new TicketWebService()); 
    JOptionPane.showMessageDialog(null, "Server beenden"); 
    endpoint.stop(); 
    } 
} 

클라이언트 : 난

<html> 
    <head> 
    <title>Client</title> 
    <script language="JavaScript"> 
function HelloTo() 
{ 
    var endpoint = "http://localhost:8080/services"; 
    var soapaction = "http://localhost:8080/services/getContact"; 

    xmlHttp = getXMLHttp(); 
    xmlHttp.open('POST', endpoint, true); 
    xmlHttp.setRequestHeader('Content-Type', 'text/xml;charset=utf-8'); 
    xmlHttp.setRequestHeader('SOAPAction', soapaction); 

    xmlHttp.onreadystatechange = function() { 

     alert(xmlHttp.responseXML); 

    } 

    xmlHttp.send(request); 
} 
</script> 
    </head> 
    <body onLoad="HelloTo()" id="service"> 
    Body in Client 
    </body> 
</html> 

경고가 작동하지 않습니다 ...

+0

요청이 클라이언트에 도달했는지를 알 수 있습니까? 서비스에 몇 가지 샘플 출력을 생성하십시오. System.out.println. – home

+0

답해 주셔서 감사합니다 ... getContact() 메서드에서 system.out.println을 작성합니다. 출력을 어디에서야합니까? 아무 것도 발견하지 못했습니다. – user959456

+0

Java Web Service (main [] 메소드)를 시작한 콘솔에서 출력을 사용할 수 있어야합니다. – home

답변

0

JAX-WS에서 꽤 새로 운 것이지만 나는 그게 mayb라고 생각한다. 귀하의 문제는 고객 측에 없습니다. 당신은 잘 작동하는 HelloWorld 예제를 here 당신이 코드로 보면 첫째, 당신은 웹 서비스 구현에 주석 WebService에는 전체 패키지입니다

@WebService(endpointInterface = "com.mkyong.ws.HelloWorld") 

으로 정의된다 볼 것이다 " TicketWebService "를 선택하십시오. 또 다른 차이점은 @WebService 주석으로 표시된 인터페이스를 정의한 다음이 구현에 @WebService를 포함하여 인터페이스를 구현한다는 것입니다. 나는 이것이 필수적이라고 생각하지 않지만, 인터페이스를 정의하는 좋은 습관이다.

관련 문제