JoaoVM 0 Denunciar post Postado Julho 7, 2014 Boas malta,Estou a construir um web service que irá fazer uma ligação a uma base de dados e que posteriormente vai sacar dados dessa base de dados, acontece que cheguei a um ponto que quero mostrar todos os dados de uma determinada tabela, consigo pesquisar um valor, consigo inserir, mas quando se trata de mostrar todos como sou um pouco verde em java não estou a conseguir. Como não existe parâmetros de entrada o valor de saída é void.Acontece que consigo mostrar no output do java os parâmetros que escolhi, mas não consigo mostrar na saída (return) do web service propriamente dito.Se não perceberem alguma coisa não hesitem em perguntar.Alguma dica? import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.jws.WebMethod; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.naming.InitialContext; import javax.sql.DataSource; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import javax.xml.ws.BindingType; /** * * @author JoaoMartins */ @WebService(serviceName = "wsConsumosSobressalentes_ShowAll", portName = "ConsumosSobressalentesPort") @SOAPBinding ( style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED ) @BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING) public class ConsumosSobressalentes_ShowAll { @XmlType(name = "ots_xml", propOrder = {"WWONBR", "WSTAT","WRQDTE","WPDESC","WPLNNR","WMCHID"} ) @XmlAccessorType(XmlAccessType.NONE) @XmlRootElement public class OTs extends ConsumosSobressalentes_ShowAll{ @XmlElement(name = "WWONBR") public String WWONBR = ""; @XmlElement(name = "WSTAT") public int WSTAT = 0; @XmlElement(name = "WRQDTE") public int WRQDTE = 0; @XmlElement(name = "WPDESC") public String WPDESC =""; @XmlElement(name = "WPLNNR") public int WPLNNR = 0; @XmlElement(name = "WMCHID") public String WMCHID; public String getWWONBR() { return WWONBR; } public void setWWONBR(String WWONBR) { this.WWONBR = WWONBR; } public int getWSTAT() { return WSTAT; } public void setWSTAT(int WSTAT) { this.WSTAT = WSTAT; } public int getWRQDTE() { return WRQDTE; } public void setWRQDTE(int WRQDTE) { this.WRQDTE = WRQDTE; } public String getWPDESC() { return WPDESC; } public void setWPDESC(String WPDESC) { this.WPDESC = WPDESC; } public int getWPLNNR() { return WPLNNR; } public void setWPLNNR(int WPLNNR) { this.WPLNNR = WPLNNR; } public String getWMCHID() { return WMCHID; } public void setWMCHID(String WMCHID) { this.WMCHID = WMCHID; } } /** * This is a sample web service operation */ @WebMethod(operationName = "show_all", action = "show_all") @WebResult(name="query_result") public void show_all() { try{ InitialContext ctx = new InitialContext(); //The JDBC Data source that we just created DataSource ds = (DataSource) ctx.lookup("MySQLDataSource"); Connection conn = ds.getConnection(); String query = "SELECT WWONBR, WSTAT, WRQDTE, WPDESC, WPLNNR, WMCHID FROM EWSMST00"; // create the java statement PreparedStatement st = conn.prepareStatement(query); ResultSet rs = st.executeQuery(); List<OTs> returnOtData = new ArrayList<OTs>(); System.out.println("||—_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-||"); System.out.println("||_-_-REGISTOS DAS ORDENS DE TRABALHO-_-_||"); System.out.println("||_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_||"); while (rs.next()) { OTs otdata = new OTs(); otdata.setWWONBR(rs.getString("WWONBR")); otdata.setWSTAT(rs.getInt("WSTAT")); otdata.setWRQDTE(rs.getInt("WRQDTE")); otdata.setWPDESC(rs.getString("WPDESC")); otdata.setWPLNNR(rs.getInt("WPLNNR")); otdata.setWMCHID(rs.getString("WMCHID")); returnOtData.add(otdata); System.out.println("WWONBR (Número): " + otdata.WWONBR); System.out.println("WSTAT (Estado): " + otdata.WSTAT); System.out.println("WRQDTE (Data de Abertura): " + otdata.WRQDTE ); System.out.println("WPDESC (Descrição): " + otdata.WPDESC); System.out.println("WPLNNR (Planificador): " + otdata.WPLNNR); System.out.println("WMCHID (Equipamento):" + otdata.WMCHID); System.out.println("||---------------------------------------||"); } System.out.println("Pesquisa Completa!!"); }catch(Exception ex){ System.err.println(ex.getMessage()); System.out.println("Erro Inesperado"); } } } Este web service irá ser chamado numa aplicação C#, existe possibilidade de mostrar estes parâmetros sem ser com o valor do return e apenas com o output do java como está na imagem?Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
JoaoVM 0 Denunciar post Postado Julho 9, 2014 Malta cheguei a solução, fica o código: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.Collection; import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.naming.InitialContext; import javax.sql.DataSource; /** * * @author JoaoMartins */ @WebService(serviceName = "OtsConsumosSobressalentes") public class OtsConsumosSobressalentes { /*----------------------------------------------------------------------------*/ /*--------------------------------------------------*/ /*--METODO PARA MOSTRAR TODAS AS OTS DA TABELA OTS--*/ /*--------------------------------------------------*/ @WebMethod(operationName = "select_all") @WebResult(name = "select_all") public OTs[] getSelect_all() { Collection<OTs> returnOtData_all = new ArrayList<OTs>(); try{ InitialContext ctx = new InitialContext(); //The JDBC Data source that we just created DataSource ds = (DataSource) ctx.lookup("MySQLDataSource"); Connection conn = ds.getConnection(); String mostra_ots_query = "SELECT WWONBR, WSTAT, WRQDTE, WPDESC, WPLNNR, WMCHID FROM EWSMST00"; // create the java statement PreparedStatement st = conn.prepareStatement(mostra_ots_query); ResultSet rs = st.executeQuery(); while (rs.next()) { OTs otdata = new OTs(); otdata.setWWONBR(rs.getString("WWONBR")); otdata.setWSTAT(rs.getInt("WSTAT")); otdata.setWRQDTE(rs.getInt("WRQDTE")); otdata.setWPDESC(rs.getString("WPDESC")); otdata.setWPLNNR(rs.getInt("WPLNNR")); otdata.setWMCHID(rs.getString("WMCHID")); returnOtData_all.add(otdata); } System.out.println("Pesquisa Completa!!"); }catch(Exception ex){ System.err.println(ex.getMessage()); System.out.println("Erro Inesperado"); } return returnOtData_all.toArray(new OTs[0]); } } Compartilhar este post Link para o post Compartilhar em outros sites