나는 자바 스크립트 또는 JSON 객체와 는 JSON 객체 또는 XML을받을을 보내 할 수 있어야합니다.
Jax-WS, Jax-RS 및 Axis2를 사용해 보았지만 행운은 없습니다. 그러나, 당신이 그 (것)들과 작동하는 방법을 아는 경우에, 어쩌면 나는 틀린 무언가를하고 그것을 일하기 위하여 도움을 이용할 수 있었다.
그렇지 않으면 누구에게 좋은 옵션이 있습니까?
미리 감사드립니다.
가 여기에 내가 JAX-RS를 사용하여 시도하지만 그와 POST 방법에서JSON 객체를받을 수 없습니다 무엇
--- 편집 --- @pace.
@Path("/getUserByName")
@POST
@Consumes("application/json")
@Produces("application/json")
public Person getUserByName(@PathParam("name")String name, @PathParam("lastname")String lastname) {
return new Person(name, 23, lastname);
}
WS를 HTTPRequest와 함께 호출하지만 JSON 개체를 보낼 수 없습니다. 아이디어가 있으십니까?
--- 편집 2 ---
var xhr = Titanium.Network.createHTTPClient();
xhr.setRequestHeader('Content-Type', 'application/json');
var url = 'http://10.0.0.114:8080/ClippingExpressMobileWS-JaxRS/usuario/getUsuarioPorNome';
var method = 'POST';
xhr.open('POST', url);
xhr.onload = function() {
var json = this.responseText;
//This is just a printf() or a System.out.println()
Ti.API.info(json);
}
xhr.onerror = function(e) {
alert(e);
}
var obj = {name: 'Roger', abe: 22, lastname: 'Waters'};
//Then I've tried this:
xhr.send(obj); //This doesn't give any errors on the WS, but the xhr.onerror function is called.
//And this:
xhr.send(JSON.stringify(obj)); //This gives the error blow.
- 위해 xhr.send에 의해 슬로우 오류 (JSON.stringify (OBJ))
A message body reader for Java class br.com.clippingexpressmobilews.entidades.Pessoa, and Java type class br.com.clippingexpressmobilews.entidades.Pessoa, and MIME media type application/octet-stream was not found.
The registered message body readers compatible with the MIME media type are:
[1/20/12 2:17:59 PM] Natália Oliveira: Jan 20, 2012 2:11:29 PM com.sun.jersey.spi.container.ContainerRequest getEntity
SEVERE: A message body reader for Java class br.com.clippingexpressmobilews.entidades.Pessoa, and Java type class br.com.clippingexpressmobilews.entidades.Pessoa, and MIME media type application/octet-stream was not found.
The registered message body readers compatible with the MIME media type are:
application/octet-stream ->
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.RenderedImageProvider
*/* ->
com.sun.jersey.core.impl.provider.entity.FormProvider
com.sun.jersey.core.impl.provider.entity.StringProvider
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
com.sun.jersey.core.impl.provider.entity.ReaderProvider
com.sun.jersey.core.impl.provider.entity.DocumentProvider
com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader
com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader
com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader
com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General
com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General
com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General
com.sun.jersey.core.impl.provider.entity.EntityHolderReader
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General
com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy
다시 말하지만, 어떤 아이디어? 그리고 도움을 주셔서 대단히 감사합니다!
JAX-RS는이를 수행 할 수 있어야합니다. 정확히 어떤 문제에 빠졌습니까? – Pace
방금 WS 작성 방법에 대한 정보가있는 게시물을 편집했습니다. :) –
HTTPRequest로 웹 서비스를 호출한다고하면 클라이언트 라이브러리가 JSON을 지원하지 않는 것입니까? 다른 웹 서비스를 호출하려고합니까? 또한 JSON을 받으려면 메서드에서 Person 객체를 가져와야합니다. 귀하의 방법은 경로에서 이름과 성을 얻고 있지만 귀하의 경로는 성/이름을 제공하는 설정이 아닌 것 같습니다. http://jersey.java.net/nonav/documentation/latest/user-guide.html#json에 설명 된대로 web.xml에 POJOMappingFeature를 설정 했습니까? – Pace