È necessario utilizzare un servizio Web Java con elementi di tipo Data e Ora.Consumo di servizi Web Java con elementi Data e ora in WCF
Esempio dal wsdl:
...
<xsd:element name="fromTime" nillable="true" type="xsd:time" />
<xsd:element name="dateOfInspection" type="xsd:date" />
...
Quando si consumano il webservice tramite Aggiungi servizio di riferimento di Visual Studio 2008 genera il seguente codice:
[System.Xml.Serialization.SoapElementAttribute(DataType="time", IsNullable=true)]
public System.Nullable<System.DateTime> fromTime { ... }
[System.Xml.Serialization.SoapElementAttribute(DataType="date")]
public System.DateTime dateOfInspection { ... }
Invio di un messaggio Risultati in un errore di riflessione con l'innerException :
'ora' è un valore non valido per la proprietà SoapElementAttribute.DataType. La proprietà può essere specificata solo per i tipi primitivi.
Quando si rimuovono gli attributi DataType = "time" e DataType = "date" tutto sembra funzionare. Ma la modifica del codice generato è un modello anti. Quindi c'è un altro modo per farlo funzionare?
Aggiornamento:
Il problema esiste solo se gli elementi di data o ora sono annullabili!
Ho segnalato un errore nel sito di connessione di Microsofts. Se avete lo stesso problema si può votare fino qui: https://connect.microsoft.com/VisualStudio/feedback/details/534453/consuming-java-webservice-with-nullable-date-and-time-elements-in-wcf-generates-invalid-datatype-attributes
Aggiornamento 2:
Microsoft ha confermato che è un bug e unlikly da fissare.
Update 3:
Ho controllato con VS2010 e genera ancora il codice errato. A proposito, abbiamo finito per modificare il codice generato ...
http://www.headsphere.net/2007/11/java-wcf-datetime-interop.html? –
Sembra che potrebbe essere un bug. Si prega di segnalarlo a http://connect.microsoft.com/visualstudio/. Quindi pubblica qui l'URL del bug report, in modo che altri possano votarlo. –
Hai provato di nuovo in Visual Studio 2010? Se è così, lo stesso bug è ancora lì? (Chiedo perché il mio datore di lavoro sta impazzendo con WCF in questi giorni ... –