Domanda

Al momento ho: 1) una configurazione WCF per restituire un blocco di XML (in particolare è il contenuto di un calendario da Exchange 2003). 2) una forma VB6 con un comando su di esso l'accesso alla WCF tramite un oggetto costruito sul moniker di servizio compreso il contenuto del file di contratto WSDL.

Questo raffinato funziona solo quando la stringa viene passata attraverso è di una dimensione accettabile. Quando si tenta di restituire l'intera XML generato sul WCF lato i rilevare il seguente errore: "La quota dimensione massima dei messaggi per i messaggi in arrivo (65536) è stato superato. Per aumentare la quota, utilizzare la proprietà MaxReceivedMessageSize sull'elemento vincolante appropriata".

quando aggiungo una configurazione vincolante nella WCF app-config per aumentare la MaxReceivedMessageSize, questo non ha alcun effetto - presumibilmente come il client VB6 è cieco a questo. (Il contratto WSDL generato non include anche il valore nella sua xml)

leggendo in giro *, v'è il suggerimento che ho bisogno di fare un simile cambiamento di configurazione sul lato client. Così ho creato un file VB6.EXE.CONFIG e copiato i dettagli legame-configurazione per questo. Ho poi esteso il moniker di includere questo: vincolanti = WSHttpBinding_IExchange, bindingNamespace = 'Cambio', bindingConfiguration = 'ExchangeBinding'

Sono comunque ancora ricevere lo stesso messaggio di errore per quanto riguarda la quota delle dimensioni.

quando mis-ortografia elementi leganti o bindingNamespace del moniker sopra ottengo un errore previsto, ma quando mis-ortografia dell'elemento bindingConfiguration ottengo alcun errore, come se questo elemento è comunque irrilevante.

Mi sembra di avere i pezzi ma non la soluzione di lavoro in questo momento. Delle idee chiunque?

  • L'oggetto obj è dichiarato essere di tipo proxy di interfaccia. Il moniker viene quindi impostato per includere solo l'indirizzo ed il tipo di rilegatura. Dal momento che si sta utilizzando solo le impostazioni predefinite per la wsHttpBinding, non sono tenuti a fornire un valore bindingConfiguration. Se avete richiesto l'override qualsiasi impostazione di default per l'associazione, si potrebbe fornire un file di configurazione dell'applicazione con il nome file.exe.config e posizionarlo nella directory di programma del client

Nessuna soluzione corretta

Altri suggerimenti

Personalmente, vorrei creare un NET COM libreria esposto che si chiama dal VB6. La libreria .NET poteva controllare tutti vincolante del cliente e VB6 sarebbe semplicemente parlando con una DLL e passando corde intorno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top