CRIANDO CLASSE

DUHHH 09/02/2010 12:15:33
#333992
Olha estou tendo uma dor de cabeça enorme para conseguir utilizar o SOAP1.2 porque não da certo de jeito nenhum. Eu Utilizo o SOAP TOOLKIT 3.0. Para inicializar o soap na versão SOAP1.1 eu usava este comando.

objSoapClient.MSSoapInit [Ô]https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/cteStatusServico.asmx?wsdl[Ô], [Ô]CteStatusServico[Ô] [ô], [Ô]CteStatusServicoSoap[Ô]

Só que não versão 1.2 é pra usar este caminho:
objSoapClient.MSSoapInit [Ô]https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/cteStatusServico.asmx?wsdl[Ô], [Ô]CteStatusServico[Ô] [ô], [Ô]CteStatusServicoSoap12[Ô]

Só que vem o porem quando eu uso o comando abaixo da o seguinte erro:
WSDLService:Processing service CteStatusServico found no port definitions HRESULT=0x80070057: Parâmetro incorreto.
- WSDLReader:Analyzing the WSDL file failed HRESULT=0x80070057: Parâmetro incorreto.
- Client:One of the parameters supplied is invalid. HRESULT=0x80070057: Parâmetro incorreto.

E estou a alguns dias pesquisando até que achei um cara que pareçe que criou uma classe só que não estou conseguindo fazer funcionar vou mandar o link pra vocês: http://msdn.microsoft.com/pt-br/library/system.web.services.description.soap12binding(VS.80).aspx

E a parte que fala o que nos interessa:
Soap12Binding Class
Represents a binding in a Web Services Description Language (WSDL) document to the SOAP version 1.2 protocol. This class cannot be inherited.


Namespace: System.Web.Services.Description
Assembly: System.Web.Services (in System.Web.Services.dll)
Syntax
Visual Basic (Declaration) <XmlFormatExtensionPrefixAttribute([Ô]soap12[Ô], [Ô]http://schemas.xmlsoap.org/wsdl/soap12/[Ô])> _
<XmlFormatExtensionAttribute([Ô]binding[Ô], [Ô]http://schemas.xmlsoap.org/wsdl/soap12/[Ô], _
GetType(Binding))> _
Public NotInheritable Class Soap12Binding _
Inherits SoapBindingVisual Basic

(Usage) Dim instance As Soap12Binding

Será que alguem consegue me ajudar a fazer esta classe pra testar pois acredito que isso ajudara todo mundo da comunidade pois tenho certeza que quem fazer a nfe ou o cte vai encontrar o mesmo problema.
NETMANIA 10/02/2010 04:10:38
#334053
Dica: Se possível crie uma DLL em VB.Net com interface COM+ para esta falar com a sua aplicação VB6.

Abgora vamos a uma pequena historia. Trabalhei em uma corretora de seguros que utilizava WebService de uma seguradora para fazer cotação de seguros em uma aplicação e do nada o SOAP Toolkit parou de funcionar. Após o início desta instabilidade (em parte devido a grande quantidade de acessos ao WebService da seguradora), desenvolvi uma DLL em VB.Net que fazia a ponte entre o VB6 e o WebService da seguradora (chamava ela interface, por que esta era a função dela).

Esta DLL já está em operação a 3 anos e funciona perfeitamente em Windows 2000 e 2003 e no Windows XP (que era o ambiente de desenvolvimento).
DUHHH 10/02/2010 08:21:17
#334055
Hm Realmente estava pensando em fazer uma DLL no java para fazer isso. Pois encontrei o mesmo problema para assinar a nota fiscal eletronica e tive que fazer uma DLL no C#, o negocio vai ser fazer outra dll mesmo.

Muito Obrigado!
NETMANIA 10/02/2010 14:09:56
#334088
Não sei se o VB6 consegue falar com Java, mas uma DLL VB.Net feita com o modo de interpolaridade (usando o COM+) e registrando ela neste serviço não tem erro. A única coisa ruim é que você mesmo que faça a referência desta DLL no Visual Studio 6 você não irá conseguir acessar os métodos via o intelle-sense, fora isso, é usar e abusar :-D
DUHHH 11/02/2010 08:39:44
#334147
então cara eu baixei o visual basic 2005, com ele eu consigo fazer tranquilo né?
NETMANIA 12/02/2010 03:47:41
#334237
Consegue sem problemas. Mas o seu sistema será utilizado em quais versões de Windows? Se você pretente usar em versões até o Windows 2000 (que é a mais velha que roda .Net Framework), compile a DLL com a versão 2. Se o seu sistema for usar Windows XP com Service Pack 3 ou superiores, pode ir direto para versão 3.5 (com o Visual Studio 2008).
Tópico encerrado , respostas não são mais permitidas