DPWS con emulatore

Richieste di supporto in merito a problemi su hardware e firmware

19/09/2013 17:57:04
Iob
Gravatar
Totale Interventi 2

DPWS con emulatore

Ciao

Sta facendo alcune prove prima di passare all'implementazione dei servizi DPWS. Come primo step ho deciso di guardarmi e far girare gli esempi forniti con MF 4.2 QFE2.

CASO 1: "HelloWorldClient_MF" – " HelloWorldServer_WCF"

In questo caso il client MF dovrebbe collegarsi ad un servizio WCF

Lato  server il codice è

Uri baseAddress = new Uri("http://10.107.1.237:8084/ServiceHelloWCF");

ServiceHost serviceHost = new ServiceHost(typeof(ServiceHelloWCF), baseAddress);

Binding binding = new WSHttpBinding(SecurityMode.None);

DiscoveryVersion ver = DiscoveryVersion.WSDiscovery11;

 

Il servizio parte in Window 7 correttamente; come verifica  ho aperto con il browser l'url http://10.107.1.237:8084/ServiceHelloWCF ed è tutto OK e per togliermi lo sfizio ho eseguito l'esempio "HelloWorldClient_WCF" che pure funziona

 

Lato client ho utilizzato utilizzo Microsoft Emulator con:

Uri remoteEp = new Uri("http://10.107.1.237:8084/ServiceHelloWCF");

WS2007HttpBinding binding = new WS2007HttpBinding(new HttpTransportBindingConfig(remoteEp));

ProtocolVersion ver = new ProtocolVersion11();

 

Il passo

m_clientProxy = new ServiceHelloWCFClientProxy(binding, ver);

fallisce con l'eccezione:

#### Exception System.Net.Sockets.SocketException - CLR_E_FAIL (3) ####

#### Message:

#### Microsoft.SPOT.Net.SocketNative::bind [IP: 0000] ####

#### System.Net.Sockets.Socket::Bind [IP: 0016] ####

#### Ws.Services.Binding.UdpTransportBindingElement::OnOpen [IP: 0098] ####

#### Ws.Services.Binding.BindingElement::Open [IP: 0015] ####

#### Ws.Services.Binding.BindingElement::Open [IP: 000f] ####

#### Ws.Services.Binding.ReplyChannel::Open [IP: 0012] ####

#### Dpws.Client.DpwsClient::.ctor [IP: 0077] ####

#### localhost.ServiceHelloWCF.ServiceHelloWCFClientProxy::.ctor [IP: 000b] ####

#### Microsoft.SPOT.Sample.TestApplication::Run [IP: 001a] ####

#### SocketException ErrorCode = 10049

#### SocketException ErrorCode = 10049

A first chance exception of type 'System.Net.Sockets.SocketException' occurred in Microsoft.SPOT.Net.dll

#### SocketException ErrorCode = 10049

 

CASO 2: "HelloWorldClient_WCF" –  "HelloWorldServer_MF"

In questo caso il server MF (sempre usando Microsoft Emulator) non parte proprio; il codice è:

string guid = "urn:uuid:18571766-87df-06e2-bb68-5136c48f483f";

ProtocolVersion version = new ProtocolVersion11();

Device.Initialize(new WS2007HttpBinding(new HttpTransportBindingConfig(guid, 8084)), version);

Device.Host = new HelloWCFService(version);

Device.IgnoreLocalClientRequest = false;

ServerBindingContext ctx = new ServerBindingContext(version);

 

Ed il passo:

Device.Start(ctx);

segnala:

Start DPWS device service with endpoint address: 'urn:uuid:18571766-87df-06e2-bb68-5136c48f483f'

#### Exception System.Net.Sockets.SocketException - CLR_E_FAIL (1) ####

#### Message:

#### Microsoft.SPOT.Net.SocketNative::bind [IP: 0000] ####

#### System.Net.Sockets.Socket::Bind [IP: 0016] ####

#### Ws.Services.Binding.UdpTransportBindingElement::OnOpen [IP: 0098] ####

#### Ws.Services.Binding.BindingElement::Open [IP: 0015] ####

#### Ws.Services.Binding.BindingElement::Open [IP: 000f] ####

#### Ws.Services.Binding.ReplyChannel::Open [IP: 0012] ####

#### Dpws.Device.Device::Start [IP: 001b] ####

#### Dpws.Device.Program::Start [IP: 008a] ####

#### Dpws.Device.Program::Main [IP: 0033] ####

#### SocketException ErrorCode = 10049

#### SocketException ErrorCode = 10049

A first chance exception of type 'System.Net.Sockets.SocketException' occurred in Microsoft.SPOT.Net.dll

#### SocketException ErrorCode = 10049

 

Cercando su  Internet pare ci fosse un problema legato all'UDP nella versione 4.1 non ho capito bene se poi fixato o meno.

Qualcuno sa se si possono far girare questi esempi sull'emulatore standard.

Per gli emulatori custom bisogna implementare qualcosa di specifico?

Grazie.