问题描述
我编写了一个旨在使用远程XML服务的客户端应用程序
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
from jupyter_dash import JupyterDash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input,Output
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
from IPython.core.debugger import set_trace
# Load Data
df = px.data.tips()
# Build App
app = JupyterDash(__name__)
app.layout = html.Div([
html.H1("ScikitLearn: Polynomial features"),dcc.Graph(id='graph'),html.Label([
"Set number of features",dcc.Slider(id='PolyFeat',min=1,max=6,marks={i: '{}'.format(i) for i in range(10)},value=1,)
]),])
# Define callback to update graph
@app.callback(
Output('graph','figure'),[Input("PolyFeat","value")]
)
def update_figure(nFeatures):
global model
# data
df = px.data.tips()
x=df['total_bill']
y=df['tip']
# model
model = make_pipeline(PolynomialFeatures(nFeatures),LinearRegression())
model.fit(np.array(x).reshape(-1,1),y)
x_reg = x.values
y_reg = model.predict(x_reg.reshape(-1,1))
df['model']=y_reg
# figure setup and trace for observations
fig = go.Figure()
fig.add_traces(go.Scatter(x=df['total_bill'],y=df['tip'],mode='markers',name = 'observations'))
# trace for polynomial model
df=df.sort_values(by=['model'])
fig.add_traces(go.Scatter(x=df['total_bill'],y=df['model'],mode='lines',name = 'model'))
# figure layout adjustments
fig.update_layout(yaxis=dict(range=[0,12]))
fig.update_layout(xaxis=dict(range=[0,60]))
#print(df['model'].tail())
fig.update_layout(template = 'plotly_dark')
return(fig)
# Run app and display result inline in the notebook
app.enable_dev_tools(dev_tools_hot_reload =True)
app.run_server(mode='inline',port = 8040,dev_tools_ui=True,debug=False,dev_tools_hot_reload =True,threaded=True)
此有效负载一切正常:
RestTemplate restTemplate = new RestTemplate();
restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory("http://localhost/affettatrice"));
List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();
Jaxb2RootElementHttpMessageConverter jaxbMessageConverter = new Jaxb2RootElementHttpMessageConverter();
List<MediaType> mediaTypes = new ArrayList<MediaType>();
mediaTypes.add(MediaType.ALL);
jaxbMessageConverter.setSupportedMediaTypes(mediaTypes);
messageConverters.add(jaxbMessageConverter);
restTemplate.setMessageConverters(messageConverters);
Data result = restTemplate.getForEntity("/commands?cmd=get_state",Data.class).getBody();
System.out.println(result.getVersion());
但原来的有效载荷是
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<Version>600</Version>
...
</Data>
UTF-8的UTF-16实例。对于UTF-16,我有一个例外情况
<?xml version="1.0" encoding="UTF-16"?>
<Data>
<Version>600</Version>
...
</Data>
XML有效载荷可以编码UTF-16还是可以自定义Jaxb2RootElementHttpMessageConverter以也接受UTF-16?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)