2012-07-10 3 views
2

제 3 자 소프트웨어에서 생성 된 스텁을 사용할 때 몇 가지 제한 사항이 있습니다. 그래서, 결과를 얻기 위해 간단한 HTTP 요청 및 응답과 같은 다른 옵션을 찾고 있습니다. 아마도 한 번의 작업에 5 또는 6 개의 매개 변수를 전달하고 웹 서비스에서 하나의 출력을 얻어야 할 것입니다.HTTP 요청으로 웹 서비스를 호출 할 수 있습니까?

내부적으로 webservice를 호출하는 간단한 JSP 파일을 만들 수 있습니다. HTTP 요청을 통해이 JSP를 호출 할 수 있습니다. 다른 옵션이 있는지 확인하고 싶습니다.

JDK1.6, JBoss 5.1을 사용하고 있습니다.

답변

6

SOAP 웹 서비스 요청은 URLConnection 또는 curl을 포함하여 모든 클라이언트를 사용하여 트리거 할 수있는 일반적인 POST HTTP 요청입니다. 참조 : Sending a SOAP request to a Web Service via URLConnection.

JSP가 필요하지 않습니다. 실제로 JSP에서 외부 웹 서비스를 호출하는 것은 유지 관리 측면에서 끔찍한 생각입니다. main 메소드에서 직접 Java 코드에서 웹 서비스를 호출 할 수 있습니다.

+0

나는 이와 함께 여러 가지 결과를 얻고 있습니다. 1) http://www.webservicex.net/stockquote.asmx 시도, HTTP 500 오류가 나타납니다. 2) 다른 개인 서비스를 시도해 보았습니다. HTTP 응답 415가 나타납니다. 3) 다른 서비스를 테스트했는데 제대로 작동했습니다. – priceline

+0

@priceline :'Content-Type : text/xml;을 추가하십시오. charset = utf-8' 또는'Content-Type : application/xml' 헤더가'2)' –

+1

을 수정해야합니다. 일단 컨텐츠 유형을 설정하면 두 번째 옵션이 작동합니다. conn.setRequestProperty ("Content-Type", "text/xml; charset = utf-8"); 편집 : 토마스, 일했다 .. 나는 일찍 ur 메시지를 보지 못했어요. 감사, – priceline

1

이 밖으로 시도 ...

public void postData() throws Exception { 


HttpClient client = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("https://www.xyz.com"); 

List<NameValuePair> list = new ArrayList<NameValuePair>(1); 

list.add(new BasicNameValuePair("name","ABC"); 

httppost.setEntity(new UrlEncodedFormEntity(list)); 

HttpResponse r = client.execute(httppost); 

} 
0

나는 토마스 Nurkiewicz에 동의합니다. JSP를 사용하여 웹 서비스를 호출하지 마십시오.

대신 필요한 다른 웹 서비스를 호출하는 웹 서비스를 만드십시오. 이렇게하면 응답을 보내기 전에 결과로 쉽게 작업 할 수 있습니다.

주석을 사용하여 JBoss에서 웹 서비스를 쉽게 만들 수 있습니다.

관련 문제