Jump to content

Search the Community

Showing results for tags 'web service'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 7 results

  1. Loconarrativo

    Colocando um Web Service no ar

    Bom, tenho um web service disponibilizado pela Caixa para o registro/consulta de títulos. Meu problema é o seguinte, tenho os arquivos WSDL e XSD, fui pesquisar e tem um cara fazendo um tutorial no Github de como usar, ele disponibiliza alguns arquivos e o sistema soap para você poder implementar em seu serviço, mas não sei oque fazer com os arquivos WSDL e XSD, tenho que executa-los e deixar rodando? Revirei o código disponibilizado pelo GitHub e não achei nenhuma referencia a esses arquivos. No GitHub tem um arquivo de exemplo que pelo que diz, você pode executar para testar, fiz isso e deram todos os erros possíveis, desde problema na conversão de array para string, até problemas na indexação do web service. Aqui o link do GitHub -> https://github.com/vmassuchetto/WebserviceCaixa E qualquer conteúdo sobre web service e sua utilização, será bem vindo !
  2. public void consultaOperadoresSafra(){ CapturaPropostas capturaPropostas = new CapturaPropostas(); ICapturaPropostas iCapturaPropostas = capturaPropostas.getBasicHttpBindingICapturaPropostas(); DadosBasicosSafra basicosSafra = iCapturaPropostas.dadosSafra("1DFFA600E6489D3700A39CE2E5BEFD01"); System.out.println(basicosSafra); for (Empresa empresa : basicosSafra.getEmpresas()) { } }
  3. Eu criei duas classes customizadas de acordo com o que foi orientado por meu professor para fazer a requisição no servidor, mas estou recebendo um retorno 400 e não consigo descobrir a razão. Pesquisando, vi que pode ser algo relacionado ao cabeçalho, mas não sei como enviá-lo na minha requisição JSon customizada. Este é o código do meu do meu código customizado para requisição de JsonObject: package com.example.sandrini.pokeagenda; import com.android.volley.AuthFailureError; import com.android.volley.Response; import com.android.volley.RetryPolicy; import com.android.volley.toolbox.JsonObjectRequest; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class CustomJSONObjectRequest extends JsonObjectRequest { public CustomJSONObjectRequest(int method, String url, JSONObject jsonRequest, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) { super(method, url, jsonRequest, listener, errorListener); } @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json; charset=utf-8"); return headers; } @Override public RetryPolicy getRetryPolicy() { return super.getRetryPolicy(); } } Este é o código da minha Request Queue: package com.example.sandrini.pokeagenda; import android.content.Context; import com.android.volley.Cache; import com.android.volley.Network; import com.android.volley.RequestQueue; import com.android.volley.toolbox.BasicNetwork; import com.android.volley.toolbox.DiskBasedCache; import com.android.volley.toolbox.HurlStack; public class CustomVolleyRequestQueue { private static CustomVolleyRequestQueue mInstance; private static Context mCtx; private RequestQueue mRequestQueue; private CustomVolleyRequestQueue(Context context) { //recebe o contexto da aplicação //Assim a fila dura o ciclo de vida do app mCtx = context; mRequestQueue = getRequestQueue(); } public static synchronized CustomVolleyRequestQueue getmInstance(Context context) { if (mInstance == null) { mInstance = new CustomVolleyRequestQueue(context); } //retorna uma instância da fila return mInstance; } public RequestQueue getRequestQueue() { if (mRequestQueue == null) { //Cache 10MB Cache cache = new DiskBasedCache(mCtx.getCacheDir(), 10 *1024); Network network = new BasicNetwork(new HurlStack()); mRequestQueue = new RequestQueue(cache, network); mRequestQueue.start(); } return mRequestQueue; } } Este é o código da Activity onde estou tentando fazer a requisição: package com.example.sandrini.pokeagenda; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; import android.widget.Toast; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonRequest; import com.google.gson.Gson; import org.json.JSONException; import org.json.JSONObject; import java.util.EmptyStackException; public class CreateUserActivity extends AppCompatActivity implements Response.Listener, Response.ErrorListener { private static final String REQUEST_TAG = "CreateUser"; Trainer trainer = new Trainer(); EditText loginCreateInput, emailCreateInput, pwdCreateInput; Button createUserButton; private RequestQueue mQueue; JsonRequest jsonRequest; ProgressBar progressBarCreateUser; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_create_user); loginCreateInput = (EditText) findViewById(R.id.login_create_input); emailCreateInput = (EditText) findViewById(R.id.email_create_input); pwdCreateInput = (EditText) findViewById(R.id.pwd_create_input); createUserButton = (Button) findViewById(R.id.create_user_button); progressBarCreateUser = (ProgressBar) findViewById(R.id.progress_bar_create_user); progressBarCreateUser.setVisibility(View.INVISIBLE); } @Override protected void onStart() { super.onStart(); createUserButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (loginCreateInput.getText().toString().equals("")) { Toast.makeText(getApplicationContext(), "Please, set a login", Toast.LENGTH_SHORT).show(); } else if (emailCreateInput.getText().toString().equals("")) { Toast.makeText(getApplicationContext(), "Please, set an email", Toast.LENGTH_SHORT).show(); } else if (pwdCreateInput.getText().toString().equals("")) { Toast.makeText(getApplicationContext(), "Please, set a password", Toast.LENGTH_SHORT).show(); } else { String url = "http://192.168.25.6:8081/PokedexWS/webresources/pokews/poke/insert/trainer"; /*trainer.setUsername(loginCreateInput.getText().toString()); trainer.setEmail(emailCreateInput.getText().toString()); trainer.setPassword(pwdCreateInput.getText().toString());*/ trainer.setUsername("gato"); trainer.setEmail("gato"); trainer.setPassword("gato"); try { JSONObject jsonObject; Gson gson = new Gson(); String trainerToGson = gson.toJson(trainer); jsonObject = new JSONObject(trainerToGson); //String trainerToGson = "{\"username\":"+ "\"" + trainer.getUsername()+ "\"" + "," + //"\"email\":"+ "\"" + trainer.getEmail() + "\"" + "," + //"\"username\":"+ "\"" + trainer.getPassword()+ "\"" + "}"; //createUserButton.setText(trainerToGson); mQueue = CustomVolleyRequestQueue.getmInstance(CreateUserActivity.this.getApplicationContext()).getRequestQueue(); jsonRequest = new CustomJSONObjectRequest(Request.Method.POST, url, jsonObject, CreateUserActivity.this, CreateUserActivity.this); jsonRequest.getHeaders(); mQueue.add(jsonRequest); progressBarCreateUser.setVisibility(View.VISIBLE); } catch (Exception e) { e.printStackTrace(); } } } }); } @Override protected void onStop() { super.onStop(); if(mQueue != null) { mQueue.cancelAll(REQUEST_TAG); } } @Override public void onErrorResponse(VolleyError error) { progressBarCreateUser.setVisibility(View.INVISIBLE); Toast.makeText(getApplicationContext(), "Register failed", Toast.LENGTH_LONG).show(); Log.e("erro400", error.getMessage().toString()); Log.e("erro400", error.getCause().toString()); Log.e("erro400", error.getStackTrace().toString()); } @Override public void onResponse(Object trainerObject) { progressBarCreateUser.setVisibility(View.INVISIBLE); Toast.makeText(getApplicationContext(), "Registered successfully", Toast.LENGTH_LONG).show(); Intent intent = new Intent(CreateUserActivity.this, WelcomeTrainerActivity.class); startActivity(intent); finish(); } } Este é o meu Web Service: package ws; import com.google.gson.Gson; import dao.PokemonDAO; import dao.TrainerDAO; import java.util.ArrayList; import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; import javax.ws.rs.Produces; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PUT; import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import model.Pokemon; import model.Trainer; /** * REST Web Service * * @author sandrini */ @Path("pokews") public class PokedexWebService { PokemonDAO pokemonDAO = new PokemonDAO(); TrainerDAO trainerDAO = new TrainerDAO(); @Context private UriInfo context; /** * Creates a new instance of PokedexWebService */ public PokedexWebService() { } /** * Retrieves representation of an instance of teste.GenericResource * @return an instance of java.lang.String */ @GET @Produces(MediaType.APPLICATION_XML) public String getXml() { //TODO return proper representation object throw new UnsupportedOperationException(); } @GET @Produces(MediaType.APPLICATION_JSON) @Path("poke/list") public ArrayList<Pokemon> pokeList() { return pokemonDAO.listPokemon(); } @GET @Produces(MediaType.APPLICATION_JSON) @Path("poke/fetch/{id}") public Pokemon pokeFetch(@PathParam("id") int id) { return pokemonDAO.fetchPokemon(id); } @GET @Produces(MediaType.APPLICATION_JSON) @Path("poke/isFavorite/{id}") public String pokeIsFavorite(@PathParam("id") int id) { return pokemonDAO.isFavorite(id); } @GET @Produces(MediaType.APPLICATION_JSON) @Path("poke/login/{login}/{pwd}") public Trainer pokelogin(@PathParam("login") String login, @PathParam("pwd") String pwd) { return trainerDAO.authUser(login, pwd); } @DELETE @Path("poke/delete/{id}") public boolean delete(@PathParam("id")int id) { return pokemonDAO.deletePokemon(id); } @POST @Consumes(MediaType.APPLICATION_JSON) @Path("poke/insert") public boolean pokeInsert(String content) { Gson gson = new Gson(); Pokemon pokemon = (Pokemon) gson.fromJson(content, Pokemon.class); return pokemonDAO.insertPokemon(pokemon); } @POST @Consumes(MediaType.APPLICATION_JSON) @Path("poke/insert/trainer") public boolean trainerInsert(String content) { Gson gson = new Gson(); Trainer trainer = (Trainer) gson.fromJson(content, Trainer.class); return trainerDAO.insertTrainer(trainer); } @PUT @Consumes(MediaType.APPLICATION_JSON) @Path("poke/update") public boolean pokeUpdate(String content) { Gson gson = new Gson(); Pokemon pokemon = (Pokemon) gson.fromJson(content, Pokemon.class); return pokemonDAO.updatePokemon(pokemon); } /** * PUT method for updating or creating an instance of GenericResource * @param content representation for the resource */ @PUT @Consumes(MediaType.APPLICATION_XML) public void putXml(String content) { } } Eu peguei um código java pra testar o WS e tá funcionando, só não estou conseguindo requisitar pelo android: package acessorest; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.lang.ProcessBuilder.Redirect.Type; import java.net.HttpURLConnection; import java.net.URL; import javax.net.ssl.HttpsURLConnection; /** * * @author marcelosiedler */ public class HttpExemplo { private final String USER_AGENT = "Mozilla/5.0"; public static void main(String[] args) throws Exception { HttpExemplo http = new HttpExemplo(); Gson gson = new Gson(); Pokemon pokemon = new Pokemon(); java.lang.reflect.Type pokemonType = new TypeToken<Pokemon>() { }.getType(); String chamadaWS = "http://192.168.25.6:8081/PokedexWS/webresources/pokews/poke/insert/trainer"; Trainer trainer = new Trainer(); trainer.setUsername("quadrado"); trainer.setEmail("quadrado"); trainer.setPassword("quadrado"); //System.out.println(gson.toJson(trainer)); String trainerToGson = gson.toJson(trainer); /*String trainerToGson = "{\"username\":"+ "\"" + trainer.getUsername()+ "\"" + "," + "\"email\":"+ "\"" + trainer.getEmail() + "\"" + "," + "\"password\":"+ "\"" + trainer.getPassword()+ "\"" + "}";*/ //System.out.println(trainerToGson); //String retorn = http.sendGet(chamadaWS, "DELETE"); //pokemon = gson.fromJson(json, pokemonType); //System.out.println(retorn); http.sendPost(chamadaWS,trainerToGson, "POST"); } // HTTP GET request private String sendGet(String url, String method) throws Exception { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // optional default is GET con.setRequestMethod(method); //add request header con.setRequestProperty("User-Agent", USER_AGENT); int responseCode = con.getResponseCode(); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); //print result System.out.println(response.toString()); return response.toString(); } // HTTP POST request private void sendPost(String url, String parameters, String method) throws Exception { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); //add reuqest header con.setRequestMethod(method); con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("User-Agent", USER_AGENT); con.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); String urlParameters = parameters; // Send post request con.setDoOutput(true); DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(urlParameters); wr.flush(); wr.close(); int responseCode = con.getResponseCode(); System.out.println("\nSending 'POST' request to URL : " + url); System.out.println("Post parameters : " + urlParameters); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); //print result System.out.println(response.toString()); } } android post volley singleton
  4. bruno.globaltec

    Buscando informação de web service

    Boa tarde pessoal, sou novo aqui no forum, mais já vou direto ao ponto vou tentar explicar o que eu preciso, e vou explicar o que está aocntecendo, temos um web service aqui na empresa que busca as atualizações por versões do nosso software aqui da empresa onde eu trabalho, so que antigamente precisava entrar com login e senha dentro do site interno para poder ter acesso a essas informações so que agora mudamos e colocamos esse web service em outro lugar http://virtuau.uau.com.br/novidades/ veja que ao clicar no modulo você seleciona o modulo que quer, e ai do lado seleciona a versão do modulo que você quer e assim vai aparecer toda atualização do modulo e da versão escolhida, o problema que estou tendo e o seguinte, ele esta buscando apenas 3 versões 10.03 10.04 e 10.05 sendo que eu dei conta de colocar somente essas 3 versões manualmente, eu quero buscar todas informações que estão no web service, da uma olhada no que eu fiz as versões estão saindo da seguinte forma Veja que o modulo "obras" esta selecionado e está mostrando as 3 versões " que eu mesmo quis colocar, mais eu coloquei manualmente" veja, no antigo webservice como ele trazia as versões desse modulo: Veja que ao selecionado o modulo obras está trazendo todas as versões disponiveis, eu quero poder fazer assim, sendo que nao e todo modulo que tem vamos supor a versão 9, e sim da 10 a diante, por isso eu não coloquei manualmente todas as versões, pois depende de cada modulo tem as versões liberadas. o codigo e um codigo pequeno e simples em php e json, vou postar aqui meu codigo: INICIANILIZA O WEB SERVICE ESTA SALVO COMO "novidadesWS.php" <?php ini_set("soap.wsdl_cache_enabled", "0"); class Novidades{ public function NovidadesModulo($numModulo, $numVersao) { /* Inicializa o webservice */ $client = new SoapClient("http://atualizacaoautomatica.uau.com.br/webservices/wsNovidade.asmx?wsdl", array('trace' => 1)); /* Seta os parêmetors da requisição */ $params = array( "NumModulo" => $numModulo, "NumVersao" => $numVersao, ); /* Invoca o método passando os parâmetros */ $client->__soapCall("ConsultarNovidadePorModuloVersao", array($params)); $sxe = new SimpleXMLElement($client->__getLastResponse()); $sxe->registerXPathNamespace('d', 'urn:schemas-microsoft-com:xml-diffgram-v1'); $result = $sxe->xpath("//NewDataSet"); return $result; } } ?> ESTE BUSCA AS NOVIDADES ESTA SALVO COMO "novidadesHandle.php" <?php require_once('novidadesWS.php'); if(isset( $_POST['acao'] )) { if($_POST['acao'] == "getNovidades") { $ws = new Novidades; $result = $ws->NovidadesModulo($_POST['nummodulo'], $_POST['numversao']); } } echo json_encode($result); ?> AGORA ESTE E O QUE JUNTA TODAS AS INFORMAÇÕES E MOSTRA ELAS, ESTA SALVO COMO "uau.php" <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $(document).ready(function(){ var moduloSel; var versaoSel; $('#novidades').hide(); $('#modulos').prop('disabled', 'disabled'); $('#versao').prop('disabled', 'disabled'); /* Módulos fixos. ADICIONAR NOVOS MODULOS AQUI*/ var json = '[{"Descr_mod":"Geral","Num_mod":"1"},{"Descr_mod":"Suprimentos","Num_mod":"2"},{"Descr_mod":"Financeiro","Num_mod":"3"},{"Descr_mod":"Fiscal","Num_mod":"4"},{"Descr_mod":"Obras","Num_mod":"5"},{"Descr_mod":"Segurança","Num_mod":"6"},{"Descr_mod":"ProUau","Num_mod":"8"},{"Descr_mod":"InfoUau","Num_mod":"9"},{"Descr_mod":"SGQ","Num_mod":"11"},{"Descr_mod":"CRM","Num_mod":"12"},{"Descr_mod":"Orçamento","Num_mod":"13"},{"Descr_mod":"Patrimônio","Num_mod":"16"},{"Descr_mod":"Folha","Num_mod":"18"},{"Descr_mod":"UauWebWS","Num_mod":"20"},{"Descr_mod":"Viabilidade","Num_mod":"21"},{"Descr_mod":"Vendas","Num_mod":"23"},{"Descr_mod":"Customização","Num_mod":"30"},{"Descr_mod":"Gerenciador Sistema UAU","Num_mod":"44"},{"Descr_mod":"UauWebSite","Num_mod":"45"},{"Descr_mod":"Shopping","Num_mod":"46"},{"Descr_mod":"Dashboard","Num_mod":"50"}]'; var $select = $('#modulos'); $select.find('option').remove(); $select.append('<option value="1000">Selecione um Módulo</option>'); $.each($.parseJSON(json),function(key, value) { $select.append('<option value=' + value.Num_mod + '>' + value.Descr_mod + '</option>'); }); $('#modulos').prop('disabled', false); $('#modulos').on('change', function () { moduloSel = $("#modulos option:selected").val(); /* Versões fixas. ADICIONAR NOVAS VERSÕES AQUI */ var json = '[{"Num_ver":"10.03"},{"Num_ver":"10.04"},{"Num_ver":"10.05"}]'; var $select = $('#versao'); $select.find('option').remove(); $select.append('<option value="1000">Versões</option>'); $.each($.parseJSON(json),function(key, value) { $select.append('<option value=' + value.Num_ver + '>' + value.Num_ver + '</option>'); }); $('#versao').prop('disabled', false); }); $('#versao').on('change', function () { var versaoSel = $("#versao option:selected").val(); $.ajax({ type: "POST", data: { nummodulo:moduloSel, numversao:versaoSel, acao:"getNovidades" }, url: "novidadesHandle.php", dataType: "json", success: function(data) { var $table = $('#novidades'); var trHTML; $table.find('td').remove(); if(data[0] !== undefined) { $.each(data[0].Table1,function(key, value) { if (value.LinkVirtuau_tar == undefined) { trHTML += '<tr><td style="border: 1px solid black;">' + value.Num_tar + '</td><td style="border: 1px solid black;">' + value.ObsSolicitante_tar + '</td></tr>'; } else { trHTML += '<tr><td style="border: 1px solid black;">' + value.Num_tar + '</td><td style="border: 1px solid black;">' + value.ObsSolicitante_tar + '<a href="' + value.LinkVirtuau_tar + '">Veja mais</td></tr>'; } }); } $('#novidades').append(trHTML); $('#novidades').show(); } }); }); $('#todos').change(function(){ if($(this).is(':checked')){ //sel } else { //alert('não sel'); } }); }); </script> <style> select{ width: 300px; height: 50px; color: #FFFFFF; font-size: 15px; background-color:#f36237; border-color: #F2F2F2; border-radius: 10px; border-width: 2px; box-shadow: 5px 5px 10px #8E8E8E; -webkit-box-shadow: 5px 5px 10px #8E8E8E; -moz-box-shadow: 5px 5px 10px #8E8E8E; } </style> </head> <body> <select id="modulos"> </select> <select id="versao"> <option>Selecione uma versão</option> </select> <!--<input type="checkbox" id="todos"> Mostrar todos dessa versão--> <table id="novidades" style="border: 1px solid black; border-collapse: collapse; width:100%;"><tr><th style="text-align: left; border: 1px solid black;">Número</th><th style="text-align: left; border: 1px solid black;">Descrição</th></tr> <tr> </tr> </table> </body> </html> EU QUERO PUXAR TODAS AS VERSÕES DE CADA MODULO, LEMBRANDO QUE NAO E TODOS OS MODULOS QUE TEM TODAS ESSAS VERSOES DA IMAGEM ALGUNS COMEÇAM DO 10.01 E OUTROS COMEÇAM DO 9.02 E ETC.... QUERO PODER BUSCAR SOMENTE ESSAS VERSÕES DE FORMA AUTOMATICA DO WEB SERVICE, NÃO TEM INTEGRAÇÃO NENHUM DO BANCO DE DADOS, E TUDO PELO WEB SERVICE.
  5. lahedual

    resultado em tabela HTML

    Boa noite! Sou novo em programação e estou montando um webservice, mas preciso que o consumo da consulta seja tabulado em formato de tabela no navegador, como faço? abaixo segue o script: <%@ Page Language="C#" ContentType="text/json" Debug="true" %> <%@ import Namespace="System.Data.SqlClient" %> <script runat="server"> protected void Page_Load(Object Src, EventArgs E) { //Dados de acesso ao banco SQL Server string host = "localhost"; string usuario = "TESTE"; string senha = "TESTE"; string banco = "TESTE"; int codmovimento = Convert.ToInt32(Request.QueryString["codmovimento"]); //Consulta SQL a ser efetuada string strSQL = @"SELECT M.CODMOVIMENTO,M.CODTIPOMOVIMENTO,M.CODSTATUSMOVIMENTO,M.DATASTATUS FROM MOVIMENTO M WHERE M.CODTIPOMOVIMENTO=55001 AND M.CODSTATUSMOVIMENTO=5 AND CAST(M.DATASTATUS AS DATE) = CAST(GETDATE()-1 AS DATE)"; SqlConnection conexao = new SqlConnection("Data Source=" + host + ";DATABASE=" + banco + ";UID=" + usuario + "; PWD=" + senha + ";"); try { //Abre a conexão com o banco conexao.Open(); try { SqlCommand comando = new SqlCommand(strSQL, conexao); SqlDataReader dr = comando.ExecuteReader(); //Imprime os valores retornados na consulta while (dr.Read()) { Response.Write("" ); for (int i = 0; i < dr.FieldCount; i++) { Response.Write( dr.GetValue(i) ); if (i < dr.FieldCount-1) { Response.Write(","); } } Response.Write("" + Environment.NewLine ); } //Fecha o DataReader e libera os objetos para serem tratados pelo GC dr.Close(); dr.Dispose(); comando.Dispose(); } catch (Exception ex) { Response.Write("<br><font color='red'>Falha ao executar a consulta/procedimento SQL!</font><br>"); Response.Write(ex.ToString()); } } catch (Exception ex) { Response.Write("<br><font color='red'>Falha ao conectar-se na base de dados!</font><br>"); Response.Write(ex.ToString()); } finally { //Fecha a conexão do DataReader e depois do banco conexao.Close(); conexao.Dispose(); } } </script>
  6. Criei um Web Service simples para ser consumido a partir de uma aplicação Windows Phone 8. Tudo funciona correctamente à excepção de que não consegui arranjar forma de verificar, a partir da aplicação cliente, se o serviço está disponível ou não. De momento ainda estou a testar localmente, mas no futuro pretendo arranjar forma de saber se o Web Service está ou não acessível antes de começar a tentar interagir com ele. Pelo que li, não há forma de saber se um Web Service está activo sem chamar um dos métodos disponibilizados por ele. Assim sendo, aqui vai o conteúdo do método LoadData: public void LoadData(string articleCode = null) { try { this.ArticleItems.Clear(); MyServiceSoapClient ws = new MyServiceSoapClient(); CheckWebService(); if (this.isWebServiceUp) { if (!String.IsNullOrEmpty(articleCode)) { ws.GetBasicDataAsync(articleCode); ws.GetBasicDataCompleted += Ws_GetBasicDataCompleted; this.IsDataLoaded = true; } } else { this.ArticleItems.Add(new ItemViewModel() { LineOne = "Could not connect to Web Service." }); ws.Abort(); } } } Com este código, recebo um erro do tipo CommunicationException a dizer que o servidor não está acessível. Após sugestões que li online, tentei implementar um processo de "heartbeat" mas sem sucesso. Não estou muito à vontade com programação assíncrona e por isso é provável que me esteja a falhar alguma coisa. Segue o código que tenho agora (que devolve uma excepção "Unable to cast object of type 'System.Net.Browser.OHWRAsyncResult' to type 'System.Net.HttpWebResponse'"): public void CheckWebService() { try { Uri wsURL = new Uri("http://localhost:60621/WebService1.asmx"); var request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(wsURL); request.Method = "HEAD"; //retorna excepção: "Unable to cast object of type 'System.Net.Browser.OHWRAsyncResult' to type 'System.Net.HttpWebResponse'." using (var response = (System.Net.HttpWebResponse)request.BeginGetResponse(new AsyncCallback(ServiceCallback), request)) { if (response.StatusCode != System.Net.HttpStatusCode.OK) { throw new Exception("Error locating web service"); } } } catch (System.ServiceModel.FaultException fe) { this.ArticleItems.Add(new ItemViewModel() { LineOne = fe.Message }); } catch (System.ServiceModel.CommunicationException ce) { this.ArticleItems.Add(new ItemViewModel() { LineOne = ce.Message }); } catch (System.Net.WebException we) { this.ArticleItems.Add(new ItemViewModel() { LineOne = we.Message }); } catch (Exception ex) { this.ArticleItems.Add(new ItemViewModel() { LineOne = ex.Message }); } } private void ServiceCallback(IAsyncResult asyncResult) { try { System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)asyncResult.AsyncState; using (var response = (System.Net.HttpWebResponse)request.EndGetResponse(asyncResult)) { if (response != null && response.StatusCode == System.Net.HttpStatusCode.OK) { this.isWebServiceUp = true; request.Abort(); } } } catch (Exception ex) { this.ArticleItems.Add(new ItemViewModel() { LineOne = ex.Message }); } } De alguma forma, penso que posso estar a complicar demasiado a coisa. Há alguma abordagem mais simples que possa seguir? Obrigado.
  7. Bruno Reis de Oliveira

    Web Service Java

    Olá, solicito um auxílio para iniciar esse projeto. É meu último semestre e estou preocupado Atividades Práticas Supervisionadas (APS) I. TEMA: “Desenvolvimento de uma aplicação utilizando web services” II. PROPOSTA DO TRABALHO As Atividades Práticas Supervisionadas serão constituídas da seguinte forma: Pede-se aos alunos que desenvolvam uma aplicação baseada em Web Services. A escolha dos serviços que a serem implementados terão que serem ligados a gestão ambiental de uma organização, ou seja, ações que minimizem os impactos ambientais e implementem melhorias de procedimentos entre os stakeholders (partes interessadas) alusivos a ISO 14.000”. A proposta deve ser submetida a análise e aprovação do coordenador auxiliar. * A ISO 14000 é, em termos gerais, uma família de normas que oferece orientações gerenciais para atividades que interferem no meio ambiente. O reflexo da utilização dessas normas, porém, vai muito além dos resultados unicamente ambientais. Incremento na qualidade produtiva, melhores relações com colaboradores, fornecedores e comunidades, maior controle da legislação aplicável e redução de custos operacionais (Cesário de Oliveira, 2010, FSP USP).
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.