Domanda

Sto cercando di ottenere un client Java per comunicare con un servizio Web WCF wsHttpBinding. Ma io sono in grado di farlo. La chiamata o si blocca, o ottengo "expcetions musunderstoodheader".

Il mio Web Service è solo il Visual Studio di default generato "servizio WCF Template Library".

Il mio client Web Service è solo un progetto IntelliJ vuoto, con il corrispondente stub generato utilizzando "Aggiungi servizio Web Client" (la piattaforma webservice specificato è JAX-WS 2.X).

Quando cambio il mio legame con basicHttpBinding tutto funziona alla perfezione.

Ho provato a giocare con la configurazione WsHttpBinding, tra cui lo spegnimento di sicurezza, ma non ho avuto successo.

Suggerimenti? Pensieri ? È l'WsHttpBinding solo parzialmente supportate da JAX-WS 2.0?

È stato utile?

Soluzione

Il tuo problema è che JAX-WS non supporta gli stessi protocolli WS che sono utilizzato nella wsHttpBinding. È necessario utilizzare WSIT . WSIT è disponibile come parte della libreria Metro il , che è disponibile su Glassfish .

Mi consiglia di utilizzare wsHttpBinding o ws2007HttpBinding ove possibile, ma si può ancora fare un servizio abbastanza sicuro con basicHttpBinding su SSL / Transport Auth.

Altri suggerimenti

Vorrei esaminare attentamente la vostra configurazione WCF e rimuovere tutti authenitcation, authoraization ecc, proprietà. Ricordate, per impostazione predefinita, WCF esporrà il servizio in modo sicuro quando si utilizza un trasporto sicuro / vincolante. Pertanto, a meno che non si configura il client Java per onorare quelle esigenze di sicurezza, è molto probabile che non riescono a autenticare e non sarà possibile visualizzare i due Converse.

Una volta che hai i due a parlare, a poco a poco lavorare attraverso l'aggiunta di ciascun elemento di sicurezza fino a quando hai il tuo client Java cofigured correttamente.

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